Allow pages to be added automattically to menus. see #13447.

git-svn-id: https://develop.svn.wordpress.org/trunk@14878 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Andrew Nacin
2010-05-25 13:49:56 +00:00
parent f2e1eaf40a
commit 00fda9f10b
5 changed files with 65 additions and 3 deletions

File diff suppressed because one or more lines are too long

View File

@@ -498,10 +498,16 @@ clear:both;
float: right;
padding-right: 15px;
}
.menu-name-label span {
.menu-name-label span, .auto-add-pages label {
font-size: 11px;
font-style: normal;
}
.auto-add-pages label.howto {
display: inline;
}
.auto-add-pages {
clear: both;
}
.submitbox .submitcancel {
color: #21759B;
border-bottom: 1px solid #21759B;

View File

@@ -356,6 +356,20 @@ switch ( $action ) {
}
}
// Store 'auto-add' pages.
$auto_add = ! empty( $_POST['auto-add-pages'] );
$nav_menu_option = (array) get_option( 'nav_menu_options' );
if ( ! isset( $nav_menu_option['auto_add'] ) )
$nav_menu_option['auto_add'] = array();
if ( $auto_add ) {
if ( ! in_array( $nav_menu_selected_id, $nav_menu_option['auto_add'] ) )
$nav_menu_option['auto_add'][] = $nav_menu_selected_id;
} else {
if ( false !== ( $key = array_search( $nav_menu_selected_id, $nav_menu_option['auto_add'] ) ) )
unset( $nav_menu_option['auto_add'][$key] );
}
update_option( 'nav_menu_options', $nav_menu_option );
wp_defer_term_counting(false);
do_action( 'wp_update_nav_menu', $nav_menu_selected_id );
@@ -510,6 +524,21 @@ require_once( 'admin-header.php' );
<a class="submitdelete deletion menu-delete" href="<?php echo esc_url( wp_nonce_url( admin_url('nav-menus.php?action=delete&amp;menu=' . $nav_menu_selected_id), 'delete-nav_menu-' . $nav_menu_selected_id ) ); ?>"><?php _e('Delete Menu'); ?></a>
</div><!--END .delete-action-->
<?php endif; ?>
<?php if ( !empty( $nav_menu_selected_id ) ) :
if ( ! isset( $auto_add ) ) {
$auto_add = get_option( 'nav_menu_options' );
if ( ! isset( $auto_add['auto_add'] ) )
$auto_add = false;
elseif ( false !== array_search( $nav_menu_selected_id, $auto_add['auto_add'] ) )
$auto_add = true;
else
$auto_add = false;
}
?>
<div class="auto-add-pages">
<label class="howto"><input type="checkbox"<?php checked( $auto_add ); ?> name="auto-add-pages" value="1" /> <?php printf( __('Automatically add new top-level pages to this menu' ), esc_url( admin_url( 'edit.php?post_type=page' ) ) ); ?></label>
</div>
<?php endif; ?>
</div><!--END .major-publishing-actions-->
</div><!--END #submitpost .submitbox-->
<?php