WordPress.org

Make WordPress Core

Changeset 7948


Ignore:
Timestamp:
05/18/08 20:08:18 (7 years ago)
Author:
ryan
Message:

add_meta_box() for edit page form. Props DD32. see #6964

Location:
trunk/wp-admin
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/edit-form-advanced.php

    r7930 r7948  
    348348if ( $authors && count( $authors ) > 1 ) : 
    349349function post_author_meta_box($post) { 
    350 ?> 
    351 <label class="hidden" for="post_author_override"><?php _e('Post Author'); ?></label><?php wp_dropdown_users( array('include' => $authors, 'name' => 'post_author_override', 'selected' => empty($post_ID) ? $user_ID : $post->post_author) ); ?> 
     350    global $current_user, $user_ID; 
     351    $authors = get_editable_user_ids( $current_user->id ); // TODO: ROLE SYSTEM 
     352    if ( $post->post_author && !in_array($post->post_author, $authors) ) 
     353        $authors[] = $post->post_author; 
     354?> 
     355<label class="hidden" for="post_author_override"><?php _e('Post Author'); ?></label><?php wp_dropdown_users( array('include' => $authors, 'name' => 'post_author_override', 'selected' => empty($post->ID) ? $user_ID : $post->post_author) ); ?> 
    352356<?php 
    353357} 
  • trunk/wp-admin/edit-page-form.php

    r7913 r7948  
    200200<h2><?php _e('Advanced Options'); ?></h2> 
    201201 
    202 <div id="pagepostcustom" class="postbox <?php echo postbox_classes('pagepostcustom', 'page'); ?>"> 
    203 <h3><?php _e('Custom Fields') ?></h3> 
    204 <div class="inside"> 
     202 
     203<?php  
     204function page_custom_meta_box($post){ 
     205?> 
    205206<div id="postcustomstuff"> 
    206207<table cellpadding="3"> 
    207208<?php 
    208 $metadata = has_meta($post_ID); 
     209$metadata = has_meta($post->ID); 
    209210list_meta($metadata); 
    210211?> 
     
    217218</div> 
    218219<p><?php _e('Custom fields can be used to add extra metadata to a post that you can <a href="http://codex.wordpress.org/Using_Custom_Fields" target="_blank">use in your theme</a>.'); ?></p> 
    219 </div> 
    220 </div> 
    221  
    222 <div id="pagecommentstatusdiv" class="postbox <?php echo postbox_classes('pagecommentstatusdiv', 'page'); ?>"> 
    223 <h3><?php _e('Comments &amp; Pings') ?></h3> 
    224 <div class="inside"> 
     220<?php 
     221} 
     222add_meta_box('pagecustomdiv', __('Custom Fields'), 'page_custom_meta_box', 'page', 'advanced', 'core'); 
     223 
     224function page_comments_status_meta_box($post){ 
     225?> 
    225226<input name="advanced_view" type="hidden" value="1" /> 
    226227<p><label for="comment_status" class="selectit"> 
     
    229230<p><label for="ping_status" class="selectit"><input name="ping_status" type="checkbox" id="ping_status" value="open" <?php checked($post->ping_status, 'open'); ?> /> <?php _e('Allow Pings') ?></label></p> 
    230231<p><?php _e('These settings apply to this page only. &#8220;Pings&#8221; are <a href="http://codex.wordpress.org/Introduction_to_Blogging#Managing_Comments" target="_blank">trackbacks and pingbacks</a>.'); ?></p> 
    231 </div> 
    232 </div> 
    233  
    234 <div id="pagepassworddiv" class="postbox <?php echo postbox_classes('pagepassworddiv', 'page'); ?>"> 
    235 <h3><?php _e('Password Protect This Page') ?></h3> 
    236 <div class="inside"> 
     232<?php  
     233} 
     234add_meta_box('pagecommentstatusdiv', __('Comments &amp; Pings'), 'page_comments_status_meta_box', 'page', 'advanced', 'core'); 
     235 
     236function page_password_meta_box($post){ 
     237?> 
    237238<p><label class="hidden" for="post_password"><?php _e('Password Protect This Page') ?></label><input name="post_password" type="text" size="25" id="post_password" value="<?php echo attribute_escape( $post->post_password ); ?>" /></p> 
    238239<p><?php _e('Setting a password will require people who visit your blog to enter the above password to view this page and its comments.'); ?></p> 
    239 </div> 
    240 </div> 
    241  
    242 <div id="pageslugdiv" class="postbox <?php echo postbox_classes('pageslugdiv', 'page'); ?>"> 
    243 <h3><?php _e('Page Slug') ?></h3> 
    244 <div class="inside"> 
     240<?php 
     241} 
     242add_meta_box('pagepassworddiv', __('Password Protect This Page'), 'page_password_meta_box', 'page', 'advanced', 'core'); 
     243 
     244function page_slug_meta_box($post){ 
     245?> 
    245246<label class="hidden" for="post_name"><?php _e('Page Slug') ?></label><input name="post_name" type="text" size="13" id="post_name" value="<?php echo attribute_escape( $post->post_name ); ?>" /> 
    246 </div> 
    247 </div> 
    248  
    249 <div id="pageparentdiv" class="postbox <?php echo postbox_classes('pageparentdiv', 'page'); ?>"> 
    250 <h3><?php _e('Page Parent') ?></h3> 
    251 <div class="inside"> 
    252 <label class="hidden" for="parent_id"><?php _e('Page Parent') ?></label><select name="parent_id" id="parent_id"> 
     247<?php 
     248} 
     249add_meta_box('pageslugdiv', __('Page Slug'), 'page_slug_meta_box', 'page', 'advanced', 'core'); 
     250 
     251function page_parent_meta_box($post){ 
     252?> 
     253<label class="hidden" for="parent_id"><?php _e('Page Parent') ?></label> 
     254<select name="parent_id" id="parent_id"> 
    253255<option value='0'><?php _e('Main Page (no parent)'); ?></option> 
    254256<?php parent_dropdown($post->post_parent); ?> 
    255257</select> 
    256258<p><?php _e('You can arrange your pages in hierarchies, for example you could have an &#8220;About&#8221; page that has &#8220;Life Story&#8221; and &#8220;My Dog&#8221; pages under it. There are no limits to how deeply nested you can make pages.'); ?></p> 
    257 </div> 
    258 </div> 
    259  
    260 <?php if ( 0 != count( get_page_templates() ) ) { ?> 
    261 <div id="pagetemplatediv" class="postbox <?php echo postbox_classes('pagetemplatediv', 'page'); ?>"> 
    262 <h3><?php _e('Page Template') ?></h3> 
    263 <div class="inside"> 
     259<?php 
     260} 
     261add_meta_box('pageparentdiv', __('Page Parent'), 'page_parent_meta_box', 'page', 'advanced', 'core'); 
     262 
     263if ( 0 != count( get_page_templates() ) ) { 
     264    function page_template_meta_box($post){ 
     265?> 
    264266<label class="hidden" for="page_template"><?php _e('Page Template') ?></label><select name="page_template" id="page_template"> 
    265267<option value='default'><?php _e('Default Template'); ?></option> 
     
    267269</select> 
    268270<p><?php _e('Some themes have custom templates you can use for certain pages that might have additional features or custom layouts. If so, you&#8217;ll see them above.'); ?></p> 
    269 </div> 
    270 </div> 
    271 <?php } ?> 
    272  
    273 <div id="pageorderdiv" class="postbox <?php echo postbox_classes('pageorderdiv', 'page'); ?>"> 
    274 <h3><?php _e('Page Order') ?></h3> 
    275 <div class="inside"> 
     271<?php 
     272    } 
     273    add_meta_box('pagetemplatediv', __('Page Template'), 'page_template_meta_box', 'page', 'advanced', 'core'); 
     274} 
     275 
     276function page_order_meta_box($post){ 
     277?> 
    276278<p><label class="hidden" for="menu_order"><?php _e('Page Order') ?></label><input name="menu_order" type="text" size="4" id="menu_order" value="<?php echo $post->menu_order ?>" /></p> 
    277279<p><?php _e('Pages are usually ordered alphabetically, but you can put a number above to change the order pages appear in. (We know this is a little janky, it&#8217;ll be better in future releases.)'); ?></p> 
    278 </div> 
    279 </div> 
    280  
    281 <?php 
     280<?php 
     281} 
     282add_meta_box('pageorderdiv', __('Page Order'), 'page_order_meta_box', 'page', 'advanced', 'core'); 
     283 
     284 
    282285$authors = get_editable_user_ids( $current_user->id ); // TODO: ROLE SYSTEM 
    283286if ( $post->post_author && !in_array($post->post_author, $authors) ) 
    284287    $authors[] = $post->post_author; 
    285 if ( $authors && count( $authors ) > 1 ) : 
    286 ?> 
    287 <div id="pageauthordiv" class="postbox <?php echo postbox_classes('pageauthordiv', 'page'); ?>"> 
    288 <h3><?php _e('Page Author'); ?></h3> 
    289 <div class="inside"> 
    290 <label class="hidden" for="post_author_override"><?php _e('Page Author'); ?></label><?php wp_dropdown_users( array('include' => $authors, 'name' => 'post_author_override', 'selected' => empty($post_ID) ? $user_ID : $post->post_author) ); ?> 
    291 </div> 
    292 </div> 
    293 <?php endif; ?> 
    294  
    295 <?php if ( isset($post_ID) && 0 < $post_ID && wp_get_post_revisions( $post_ID ) ) : ?> 
    296 <div id="revisionsdiv" class="postbox <?php echo postbox_classes('revisionsdiv', 'page'); ?>"> 
    297 <h3><?php _e('Page Revisions'); ?></h3> 
    298 <div class="inside"> 
    299 <?php wp_list_post_revisions(); ?> 
    300 </div> 
    301 </div> 
    302 <?php endif; ?> 
    303  
    304  
    305 <?php do_meta_boxes('page', 'advanced', $post); ?> 
     288if ( $authors && count( $authors ) > 1 ) { 
     289    function page_author_meta_box($post){ 
     290        global $current_user, $user_ID; 
     291        $authors = get_editable_user_ids( $current_user->id ); // TODO: ROLE SYSTEM 
     292        if ( $post->post_author && !in_array($post->post_author, $authors) ) 
     293            $authors[] = $post->post_author; 
     294?> 
     295<label class="hidden" for="post_author_override"><?php _e('Page Author'); ?></label><?php wp_dropdown_users( array('include' => $authors, 'name' => 'post_author_override', 'selected' => empty($post->ID) ? $user_ID : $post->post_author) ); ?> 
     296<?php 
     297    } 
     298    add_meta_box('pageauthordiv', __('Page Author'), 'page_author_meta_box', 'page', 'advanced', 'core'); 
     299} 
     300 
     301 
     302if ( isset($post_ID) && 0 < $post_ID && wp_get_post_revisions( $post_ID ) ) : 
     303function page_revisions_meta_box($post) { 
     304    wp_list_post_revisions(); 
     305} 
     306add_meta_box('revisionsdiv', __('Page Revisions'), 'page_revisions_meta_box', 'page', 'advanced', 'core'); 
     307endif; 
     308 
     309do_meta_boxes('page', 'advanced', $post); 
     310?> 
    306311 
    307312</div> 
Note: See TracChangeset for help on using the changeset viewer.