2009-08-14 20:58:22 +02:00
< ? php
// -- Post related Meta Boxes
/**
* Display post submit form fields .
*
* @ since 2.7 . 0
*
* @ param object $post
*/
2013-07-24 08:08:14 +02:00
function post_submit_meta_box ( $post , $args = array () ) {
2009-08-14 20:58:22 +02:00
global $action ;
$post_type = $post -> post_type ;
2010-03-20 03:39:58 +01:00
$post_type_object = get_post_type_object ( $post_type );
2010-05-12 22:45:18 +02:00
$can_publish = current_user_can ( $post_type_object -> cap -> publish_posts );
2009-08-14 20:58:22 +02:00
?>
< div class = " submitbox " id = " submitpost " >
< div id = " minor-publishing " >
< ? php // Hidden submit button early on so that the browser chooses the right button when form is submitted with Return key ?>
< div style = " display:none; " >
2010-10-28 23:56:43 +02:00
< ? php submit_button ( __ ( 'Save' ), 'button' , 'save' ); ?>
2009-08-14 20:58:22 +02:00
</ div >
< div id = " minor-publishing-actions " >
< div id = " save-action " >
2011-12-14 18:36:38 +01:00
< ? php if ( 'publish' != $post -> post_status && 'future' != $post -> post_status && 'pending' != $post -> post_status ) { ?>
2012-09-08 06:58:34 +02:00
< input < ? php if ( 'private' == $post -> post_status ) { ?> style="display:none"<?php } ?> type="submit" name="save" id="save-post" value="<?php esc_attr_e('Save Draft'); ?>" class="button" />
2009-08-14 20:58:22 +02:00
< ? php } elseif ( 'pending' == $post -> post_status && $can_publish ) { ?>
2012-09-08 06:58:34 +02:00
< input type = " submit " name = " save " id = " save-post " value = " <?php esc_attr_e('Save as Pending'); ?> " class = " button " />
2009-08-14 20:58:22 +02:00
< ? php } ?>
2012-09-26 21:57:44 +02:00
< span class = " spinner " ></ span >
2009-08-14 20:58:22 +02:00
</ div >
2012-05-01 19:52:08 +02:00
< ? php if ( $post_type_object -> public ) : ?>
2009-08-14 20:58:22 +02:00
< div id = " preview-action " >
< ? php
if ( 'publish' == $post -> post_status ) {
2010-12-13 23:38:27 +01:00
$preview_link = esc_url ( get_permalink ( $post -> ID ) );
$preview_button = __ ( 'Preview Changes' );
2009-08-14 20:58:22 +02:00
} else {
2012-08-30 15:33:00 +02:00
$preview_link = set_url_scheme ( get_permalink ( $post -> ID ) );
2014-01-08 05:06:12 +01:00
/**
* Filter the URI of a post preview in the post submit box .
*
* @ since 2.0 . 5
2014-07-03 22:05:14 +02:00
* @ since 4.0 . 0 $post parameter was added .
2014-01-08 05:06:12 +01:00
*
2014-07-03 16:42:15 +02:00
* @ param string $preview_link URI the user will be directed to for a post preview .
* @ param WP_Post $post Post object .
2014-01-08 05:06:12 +01:00
*/
2014-07-03 16:42:15 +02:00
$preview_link = esc_url ( apply_filters ( 'preview_post_link' , add_query_arg ( 'preview' , 'true' , $preview_link ), $post ) );
2010-12-13 23:38:27 +01:00
$preview_button = __ ( 'Preview' );
2009-08-14 20:58:22 +02:00
}
?>
2014-02-03 00:50:13 +01:00
< a class = " preview button " href = " <?php echo $preview_link ; ?> " target = " wp-preview-<?php echo (int) $post->ID ; ?> " id = " post-preview " >< ? php echo $preview_button ; ?> </a>
2009-08-14 20:58:22 +02:00
< input type = " hidden " name = " wp-preview " id = " wp-preview " value = " " />
</ div >
2012-05-01 19:52:08 +02:00
< ? php endif ; // public post type ?>
2009-08-14 20:58:22 +02:00
< div class = " clear " ></ div >
2012-09-22 00:52:54 +02:00
</ div ><!-- #minor-publishing-actions -->
2009-08-14 20:58:22 +02:00
< div id = " misc-publishing-actions " >
2013-08-22 17:24:10 +02:00
< div class = " misc-pub-section misc-pub-post-status " >< label for = " post_status " >< ? php _e ( 'Status:' ) ?> </label>
2009-08-14 20:58:22 +02:00
< span id = " post-status-display " >
< ? php
switch ( $post -> post_status ) {
case 'private' :
_e ( 'Privately Published' );
break ;
case 'publish' :
_e ( 'Published' );
break ;
case 'future' :
_e ( 'Scheduled' );
break ;
case 'pending' :
_e ( 'Pending Review' );
break ;
case 'draft' :
2010-02-06 11:07:57 +01:00
case 'auto-draft' :
2009-08-14 20:58:22 +02:00
_e ( 'Draft' );
break ;
}
?>
</ span >
< ? php if ( 'publish' == $post -> post_status || 'private' == $post -> post_status || $can_publish ) { ?>
2014-02-19 23:44:16 +01:00
< a href = " #post_status " < ? php if ( 'private' == $post -> post_status ) { ?> style="display:none;" <?php } ?>class="edit-post-status hide-if-no-js"><span aria-hidden="true"><?php _e( 'Edit' ); ?></span> <span class="screen-reader-text"><?php _e( 'Edit status' ); ?></span></a>
2009-08-14 20:58:22 +02:00
< div id = " post-status-select " class = " hide-if-js " >
2010-02-06 11:07:57 +01:00
< input type = " hidden " name = " hidden_post_status " id = " hidden_post_status " value = " <?php echo esc_attr( ('auto-draft' == $post->post_status ) ? 'draft' : $post->post_status ); ?> " />
2012-07-24 02:15:15 +02:00
< select name = 'post_status' id = 'post_status' >
2009-08-14 20:58:22 +02:00
< ? php if ( 'publish' == $post -> post_status ) : ?>
< option < ? php selected ( $post -> post_status , 'publish' ); ?> value='publish'><?php _e('Published') ?></option>
< ? php elseif ( 'private' == $post -> post_status ) : ?>
< option < ? php selected ( $post -> post_status , 'private' ); ?> value='publish'><?php _e('Privately Published') ?></option>
< ? php elseif ( 'future' == $post -> post_status ) : ?>
< option < ? php selected ( $post -> post_status , 'future' ); ?> value='future'><?php _e('Scheduled') ?></option>
< ? php endif ; ?>
< option < ? php selected ( $post -> post_status , 'pending' ); ?> value='pending'><?php _e('Pending Review') ?></option>
2010-02-06 11:07:57 +01:00
< ? php if ( 'auto-draft' == $post -> post_status ) : ?>
< option < ? php selected ( $post -> post_status , 'auto-draft' ); ?> value='draft'><?php _e('Draft') ?></option>
< ? php else : ?>
2009-08-14 20:58:22 +02:00
< option < ? php selected ( $post -> post_status , 'draft' ); ?> value='draft'><?php _e('Draft') ?></option>
2010-02-06 11:07:57 +01:00
< ? php endif ; ?>
2009-08-14 20:58:22 +02:00
</ select >
< a href = " #post_status " class = " save-post-status hide-if-no-js button " >< ? php _e ( 'OK' ); ?> </a>
2013-11-18 19:53:10 +01:00
< a href = " #post_status " class = " cancel-post-status hide-if-no-js button-cancel " >< ? php _e ( 'Cancel' ); ?> </a>
2009-08-14 20:58:22 +02:00
</ div >
< ? php } ?>
2012-09-22 00:52:54 +02:00
</ div ><!-- . misc - pub - section -->
2009-08-14 20:58:22 +02:00
2013-08-22 17:24:10 +02:00
< div class = " misc-pub-section misc-pub-visibility " id = " visibility " >
2009-08-14 20:58:22 +02:00
< ? php _e ( 'Visibility:' ); ?> <span id="post-visibility-display"><?php
if ( 'private' == $post -> post_status ) {
$post -> post_password = '' ;
$visibility = 'private' ;
$visibility_trans = __ ( 'Private' );
} elseif ( ! empty ( $post -> post_password ) ) {
$visibility = 'password' ;
$visibility_trans = __ ( 'Password protected' );
2010-12-02 04:39:26 +01:00
} elseif ( $post_type == 'post' && is_sticky ( $post -> ID ) ) {
2009-08-14 20:58:22 +02:00
$visibility = 'public' ;
$visibility_trans = __ ( 'Public, Sticky' );
} else {
$visibility = 'public' ;
$visibility_trans = __ ( 'Public' );
}
echo esc_html ( $visibility_trans ); ?> </span>
< ? php if ( $can_publish ) { ?>
2014-02-19 23:44:16 +01:00
< a href = " #visibility " class = " edit-visibility hide-if-no-js " >< span aria - hidden = " true " >< ? php _e ( 'Edit' ); ?> </span> <span class="screen-reader-text"><?php _e( 'Edit visibility' ); ?></span></a>
2009-08-14 20:58:22 +02:00
< div id = " post-visibility-select " class = " hide-if-js " >
< input type = " hidden " name = " hidden_post_password " id = " hidden-post-password " value = " <?php echo esc_attr( $post->post_password ); ?> " />
2010-12-02 04:39:26 +01:00
< ? php if ( $post_type == 'post' ) : ?>
2009-08-14 20:58:22 +02:00
< input type = " checkbox " style = " display:none " name = " hidden_post_sticky " id = " hidden-post-sticky " value = " sticky " < ? php checked ( is_sticky ( $post -> ID )); ?> />
< ? php endif ; ?>
< input type = " hidden " name = " hidden_post_visibility " id = " hidden-post-visibility " value = " <?php echo esc_attr( $visibility ); ?> " />
< input type = " radio " name = " visibility " id = " visibility-radio-public " value = " public " < ? php checked ( $visibility , 'public' ); ?> /> <label for="visibility-radio-public" class="selectit"><?php _e('Public'); ?></label><br />
2011-04-27 13:27:08 +02:00
< ? php if ( $post_type == 'post' && current_user_can ( 'edit_others_posts' ) ) : ?>
2012-07-24 02:15:15 +02:00
< span id = " sticky-span " >< input id = " sticky " name = " sticky " type = " checkbox " value = " sticky " < ? php checked ( is_sticky ( $post -> ID ) ); ?> /> <label for="sticky" class="selectit"><?php _e( 'Stick this post to the front page' ); ?></label><br /></span>
2009-08-14 20:58:22 +02:00
< ? php endif ; ?>
< input type = " radio " name = " visibility " id = " visibility-radio-password " value = " password " < ? php checked ( $visibility , 'password' ); ?> /> <label for="visibility-radio-password" class="selectit"><?php _e('Password protected'); ?></label><br />
2013-08-16 21:56:09 +02:00
< span id = " password-span " >< label for = " post_password " >< ? php _e ( 'Password:' ); ?> </label> <input type="text" name="post_password" id="post_password" value="<?php echo esc_attr($post->post_password); ?>" maxlength="20" /><br /></span>
2009-08-14 20:58:22 +02:00
< input type = " radio " name = " visibility " id = " visibility-radio-private " value = " private " < ? php checked ( $visibility , 'private' ); ?> /> <label for="visibility-radio-private" class="selectit"><?php _e('Private'); ?></label><br />
< p >
< a href = " #visibility " class = " save-post-visibility hide-if-no-js button " >< ? php _e ( 'OK' ); ?> </a>
2013-11-18 19:53:10 +01:00
< a href = " #visibility " class = " cancel-post-visibility hide-if-no-js button-cancel " >< ? php _e ( 'Cancel' ); ?> </a>
2009-08-14 20:58:22 +02:00
</ p >
</ div >
< ? php } ?>
2012-09-22 00:52:54 +02:00
</ div ><!-- . misc - pub - section -->
2009-08-14 20:58:22 +02:00
< ? php
2014-02-28 09:09:13 +01:00
/* translators: Publish box date format, see http://php.net/date */
2009-08-14 20:58:22 +02:00
$datef = __ ( 'M j, Y @ G:i' );
if ( 0 != $post -> ID ) {
if ( 'future' == $post -> post_status ) { // scheduled for publishing at a future date
$stamp = __ ( 'Scheduled for: <b>%1$s</b>' );
} else if ( 'publish' == $post -> post_status || 'private' == $post -> post_status ) { // already published
$stamp = __ ( 'Published on: <b>%1$s</b>' );
} else if ( '0000-00-00 00:00:00' == $post -> post_date_gmt ) { // draft, 1 or more saves, no date specified
$stamp = __ ( 'Publish <b>immediately</b>' );
} else if ( time () < strtotime ( $post -> post_date_gmt . ' +0000' ) ) { // draft, 1 or more saves, future date specified
$stamp = __ ( 'Schedule for: <b>%1$s</b>' );
} else { // draft, 1 or more saves, date specified
$stamp = __ ( 'Publish on: <b>%1$s</b>' );
}
$date = date_i18n ( $datef , strtotime ( $post -> post_date ) );
} else { // draft (no saves, and thus no date specified)
$stamp = __ ( 'Publish <b>immediately</b>' );
$date = date_i18n ( $datef , strtotime ( current_time ( 'mysql' ) ) );
}
2013-07-24 08:08:14 +02:00
if ( ! empty ( $args [ 'args' ][ 'revisions_count' ] ) ) :
$revisions_to_keep = wp_revisions_to_keep ( $post );
?>
2013-08-22 17:24:10 +02:00
< div class = " misc-pub-section misc-pub-revisions " >
2013-07-24 08:08:14 +02:00
< ? php
if ( $revisions_to_keep > 0 && $revisions_to_keep <= $args [ 'args' ][ 'revisions_count' ] ) {
echo '<span title="' . esc_attr ( sprintf ( __ ( 'Your site is configured to keep only the last %s revisions.' ),
number_format_i18n ( $revisions_to_keep ) ) ) . '">' ;
printf ( __ ( 'Revisions: %s' ), '<b>' . number_format_i18n ( $args [ 'args' ][ 'revisions_count' ] ) . '+</b>' );
echo '</span>' ;
} else {
2013-07-29 21:48:41 +02:00
printf ( __ ( 'Revisions: %s' ), '<b>' . number_format_i18n ( $args [ 'args' ][ 'revisions_count' ] ) . '</b>' );
2013-07-24 08:08:14 +02:00
}
?>
2014-02-19 23:44:16 +01:00
< a class = " hide-if-no-js " href = " <?php echo esc_url( get_edit_post_link( $args['args'] ['revision_id'] ) ); ?> " >< span aria - hidden = " true " >< ? php _ex ( 'Browse' , 'revisions' ); ?> </span> <span class="screen-reader-text"><?php _e( 'Browse revisions' ); ?></span></a>
2013-07-24 08:08:14 +02:00
</ div >
< ? php endif ;
2009-08-14 20:58:22 +02:00
if ( $can_publish ) : // Contributors don't get to choose the date of publish ?>
2013-08-22 17:24:10 +02:00
< div class = " misc-pub-section curtime misc-pub-curtime " >
2009-08-14 20:58:22 +02:00
< span id = " timestamp " >
< ? php printf ( $stamp , $date ); ?> </span>
2014-02-19 23:44:16 +01:00
< a href = " #edit_timestamp " class = " edit-timestamp hide-if-no-js " >< span aria - hidden = " true " >< ? php _e ( 'Edit' ); ?> </span> <span class="screen-reader-text"><?php _e( 'Edit date and time' ); ?></span></a>
2012-07-24 02:15:15 +02:00
< div id = " timestampdiv " class = " hide-if-js " >< ? php touch_time (( $action == 'edit' ), 1 ); ?> </div>
2009-08-14 20:58:22 +02:00
</ div >< ? php // /misc-pub-section ?>
< ? php endif ; ?>
2014-01-08 05:06:12 +01:00
< ? php
/**
* Fires after the post time / date setting in the Publish meta box .
*
* @ since 2.9 . 0
*/
do_action ( 'post_submitbox_misc_actions' );
?>
2009-08-14 20:58:22 +02:00
</ div >
< div class = " clear " ></ div >
</ div >
< div id = " major-publishing-actions " >
2014-01-08 05:06:12 +01:00
< ? php
/**
* Fires at the beginning of the publishing actions section of the Publish meta box .
*
* @ since 2.7 . 0
*/
do_action ( 'post_submitbox_start' );
?>
2009-08-14 20:58:22 +02:00
< div id = " delete-action " >
< ? php
2010-03-21 03:29:11 +01:00
if ( current_user_can ( " delete_post " , $post -> ID ) ) {
2010-04-16 04:29:10 +02:00
if ( ! EMPTY_TRASH_DAYS )
2009-11-10 11:38:19 +01:00
$delete_text = __ ( 'Delete Permanently' );
2010-04-16 04:29:10 +02:00
else
2009-11-10 11:38:19 +01:00
$delete_text = __ ( 'Move to Trash' );
2010-04-16 04:29:10 +02:00
?>
< a class = " submitdelete deletion " href = " <?php echo get_delete_post_link( $post->ID ); ?> " >< ? php echo $delete_text ; ?> </a><?php
2009-11-10 11:38:19 +01:00
} ?>
2009-08-14 20:58:22 +02:00
</ div >
< div id = " publishing-action " >
2012-09-26 21:57:44 +02:00
< span class = " spinner " ></ span >
2009-08-14 20:58:22 +02:00
< ? php
if ( ! in_array ( $post -> post_status , array ( 'publish' , 'future' , 'private' ) ) || 0 == $post -> ID ) {
if ( $can_publish ) :
if ( ! empty ( $post -> post_date_gmt ) && time () < strtotime ( $post -> post_date_gmt . ' +0000' ) ) : ?>
< input name = " original_publish " type = " hidden " id = " original_publish " value = " <?php esc_attr_e('Schedule') ?> " />
2012-09-21 21:34:23 +02:00
< ? php submit_button ( __ ( 'Schedule' ), 'primary button-large' , 'publish' , false , array ( 'accesskey' => 'p' ) ); ?>
2009-08-14 20:58:22 +02:00
< ? php else : ?>
< input name = " original_publish " type = " hidden " id = " original_publish " value = " <?php esc_attr_e('Publish') ?> " />
2012-09-21 21:34:23 +02:00
< ? php submit_button ( __ ( 'Publish' ), 'primary button-large' , 'publish' , false , array ( 'accesskey' => 'p' ) ); ?>
2009-08-14 20:58:22 +02:00
< ? php endif ;
else : ?>
< input name = " original_publish " type = " hidden " id = " original_publish " value = " <?php esc_attr_e('Submit for Review') ?> " />
2012-09-21 21:34:23 +02:00
< ? php submit_button ( __ ( 'Submit for Review' ), 'primary button-large' , 'publish' , false , array ( 'accesskey' => 'p' ) ); ?>
2009-08-14 20:58:22 +02:00
< ? php
endif ;
} else { ?>
< input name = " original_publish " type = " hidden " id = " original_publish " value = " <?php esc_attr_e('Update') ?> " />
2012-12-04 23:02:25 +01:00
< input name = " save " type = " submit " class = " button button-primary button-large " id = " publish " accesskey = " p " value = " <?php esc_attr_e('Update') ?> " />
2009-08-14 20:58:22 +02:00
< ? php
} ?>
</ div >
< div class = " clear " ></ div >
</ div >
</ div >
< ? php
}
2012-09-22 00:52:54 +02:00
/**
* Display attachment submit form fields .
*
* @ since 3.5 . 0
*
* @ param object $post
*/
function attachment_submit_meta_box ( $post ) {
?>
< div class = " submitbox " id = " submitpost " >
< div id = " minor-publishing " >
< ? php // Hidden submit button early on so that the browser chooses the right button when form is submitted with Return key ?>
< div style = " display:none; " >
< ? php submit_button ( __ ( 'Save' ), 'button' , 'save' ); ?>
</ div >
< div id = " misc-publishing-actions " >
< ? php
2014-02-28 09:09:13 +01:00
/* translators: Publish box date format, see http://php.net/date */
2012-09-22 00:52:54 +02:00
$datef = __ ( 'M j, Y @ G:i' );
$stamp = __ ( 'Uploaded on: <b>%1$s</b>' );
$date = date_i18n ( $datef , strtotime ( $post -> post_date ) );
?>
2013-08-22 17:24:10 +02:00
< div class = " misc-pub-section curtime misc-pub-curtime " >
2012-09-22 00:52:54 +02:00
< span id = " timestamp " >< ? php printf ( $stamp , $date ); ?> </span>
</ div ><!-- . misc - pub - section -->
2014-01-08 05:06:12 +01:00
< ? php
/**
* Fires after the 'Uploaded on' section of the Save meta box
* in the attachment editing screen .
*
* @ since 3.5 . 0
*/
do_action ( 'attachment_submitbox_misc_actions' );
?>
2012-09-22 00:52:54 +02:00
</ div ><!-- #misc-publishing-actions -->
< div class = " clear " ></ div >
</ div ><!-- #minor-publishing -->
< div id = " major-publishing-actions " >
< div id = " delete-action " >
< ? php
if ( current_user_can ( 'delete_post' , $post -> ID ) )
if ( EMPTY_TRASH_DAYS && MEDIA_TRASH ) {
echo " <a class='submitdelete deletion' href=' " . get_delete_post_link ( $post -> ID ) . " '> " . __ ( 'Trash' ) . " </a> " ;
} else {
$delete_ays = ! MEDIA_TRASH ? " onclick='return showNotice.warn();' " : '' ;
2012-12-01 19:59:16 +01:00
echo " <a class='submitdelete deletion' $delete_ays href=' " . get_delete_post_link ( $post -> ID , null , true ) . " '> " . __ ( 'Delete Permanently' ) . " </a> " ;
2012-09-22 00:52:54 +02:00
}
?>
</ div >
< div id = " publishing-action " >
2012-09-26 21:57:44 +02:00
< span class = " spinner " ></ span >
2012-09-22 00:52:54 +02:00
< input name = " original_publish " type = " hidden " id = " original_publish " value = " <?php esc_attr_e('Update') ?> " />
< input name = " save " type = " submit " class = " button-primary button-large " id = " publish " accesskey = " p " value = " <?php esc_attr_e('Update') ?> " />
</ div >
< div class = " clear " ></ div >
</ div ><!-- #major-publishing-actions -->
</ div >
< ? php
}
2010-12-02 06:47:17 +01:00
/**
* Display post format form elements .
*
* @ since 3.1 . 0
*
2014-05-19 05:23:13 +02:00
* @ param WP_Post $post Post object .
* @ param array $box {
* Post formats meta box arguments .
*
* @ type string $id Meta box ID .
* @ type string $title Meta box title .
* @ type callback $callback Meta box display callback .
* @ type array $args Extra meta box arguments .
* }
2010-12-02 06:47:17 +01:00
*/
2010-12-02 03:42:38 +01:00
function post_format_meta_box ( $post , $box ) {
if ( current_theme_supports ( 'post-formats' ) && post_type_supports ( $post -> post_type , 'post-formats' ) ) :
$post_formats = get_theme_support ( 'post-formats' );
if ( is_array ( $post_formats [ 0 ] ) ) :
$post_format = get_post_format ( $post -> ID );
if ( ! $post_format )
2010-12-19 20:22:31 +01:00
$post_format = '0' ;
2010-12-02 03:42:38 +01:00
// Add in the current one if it isn't there yet, in case the current theme doesn't support it
if ( $post_format && ! in_array ( $post_format , $post_formats [ 0 ] ) )
$post_formats [ 0 ][] = $post_format ;
?>
< div id = " post-formats-select " >
2013-06-27 08:56:45 +02:00
< input type = " radio " name = " post_format " class = " post-format " id = " post-format-0 " value = " 0 " < ? php checked ( $post_format , '0' ); ?> /> <label for="post-format-0" class="post-format-icon post-format-standard"><?php echo get_post_format_string( 'standard' ); ?></label>
2010-12-02 03:42:38 +01:00
< ? php foreach ( $post_formats [ 0 ] as $format ) : ?>
2013-06-07 19:15:53 +02:00
< br />< input type = " radio " name = " post_format " class = " post-format " id = " post-format-<?php echo esc_attr( $format ); ?> " value = " <?php echo esc_attr( $format ); ?> " < ? php checked ( $post_format , $format ); ?> /> <label for="post-format-<?php echo esc_attr( $format ); ?>" class="post-format-icon post-format-<?php echo esc_attr( $format ); ?>"><?php echo esc_html( get_post_format_string( $format ) ); ?></label>
2010-12-02 03:42:38 +01:00
< ? php endforeach ; ?> <br />
</ div >
< ? php endif ; endif ;
}
2009-08-14 20:58:22 +02:00
/**
* Display post tags form fields .
*
* @ since 2.6 . 0
*
2014-05-19 05:23:13 +02:00
* @ todo Create taxonomy - agnostic wrapper for this .
*
* @ param WP_Post $post Post object .
* @ param array $box {
* Tags meta box arguments .
*
* @ type string $id Meta box ID .
* @ type string $title Meta box title .
* @ type callback $callback Meta box display callback .
* @ type array $args {
* Extra meta box arguments .
*
* @ type string $taxonomy Taxonomy . Default 'post_tag' .
* }
* }
2009-08-14 20:58:22 +02:00
*/
2014-05-13 07:48:17 +02:00
function post_tags_meta_box ( $post , $box ) {
$defaults = array ( 'taxonomy' => 'post_tag' );
if ( ! isset ( $box [ 'args' ] ) || ! is_array ( $box [ 'args' ] ) ) {
2010-06-09 23:59:13 +02:00
$args = array ();
2014-05-13 07:48:17 +02:00
} else {
2010-06-09 23:59:13 +02:00
$args = $box [ 'args' ];
2014-05-13 07:48:17 +02:00
}
$r = wp_parse_args ( $args , $defaults );
2014-07-11 20:56:16 +02:00
$tax_name = esc_attr ( $r [ 'taxonomy' ] );
$taxonomy = get_taxonomy ( $r [ 'taxonomy' ] );
2013-01-28 04:23:01 +01:00
$user_can_assign_terms = current_user_can ( $taxonomy -> cap -> assign_terms );
2012-02-07 19:06:12 +01:00
$comma = _x ( ',' , 'tag delimiter' );
2009-08-14 20:58:22 +02:00
?>
< div class = " tagsdiv " id = " <?php echo $tax_name ; ?> " >
< div class = " jaxtag " >
< div class = " nojs-tags hide-if-js " >
2010-06-10 18:07:33 +02:00
< p >< ? php echo $taxonomy -> labels -> add_or_remove_items ; ?> </p>
2013-01-28 04:23:01 +01:00
< textarea name = " <?php echo " tax_input [ $tax_name ] " ; ?> " rows = " 3 " cols = " 20 " class = " the-tags " id = " tax-input-<?php echo $tax_name ; ?> " < ? php disabled ( ! $user_can_assign_terms ); ?> ><?php echo str_replace( ',', $comma . ' ', get_terms_to_edit( $post->ID, $tax_name ) ); // textarea_escaped by esc_attr() ?></textarea></div>
< ? php if ( $user_can_assign_terms ) : ?>
2009-10-13 12:02:42 +02:00
< div class = " ajaxtag hide-if-no-js " >
2009-08-14 20:58:22 +02:00
< label class = " screen-reader-text " for = " new-tag-<?php echo $tax_name ; ?> " >< ? php echo $box [ 'title' ]; ?> </label>
2010-06-09 23:59:13 +02:00
< div class = " taghint " >< ? php echo $taxonomy -> labels -> add_new_item ; ?> </div>
2010-05-03 21:29:17 +02:00
< p >< input type = " text " id = " new-tag-<?php echo $tax_name ; ?> " name = " newtag[<?php echo $tax_name ; ?>] " class = " newtag form-input-tip " size = " 16 " autocomplete = " off " value = " " />
2012-09-21 21:34:23 +02:00
< input type = " button " class = " button tagadd " value = " <?php esc_attr_e('Add'); ?> " /></ p >
2010-03-28 04:37:10 +02:00
</ div >
2013-01-28 04:23:01 +01:00
< p class = " howto " >< ? php echo $taxonomy -> labels -> separate_items_with_commas ; ?> </p>
2010-03-28 04:37:10 +02:00
< ? php endif ; ?>
</ div >
2009-08-14 20:58:22 +02:00
< div class = " tagchecklist " ></ div >
</ div >
2013-01-28 04:23:01 +01:00
< ? php if ( $user_can_assign_terms ) : ?>
2010-06-10 18:07:33 +02:00
< p class = " hide-if-no-js " >< a href = " #titlediv " class = " tagcloud-link " id = " link-<?php echo $tax_name ; ?> " >< ? php echo $taxonomy -> labels -> choose_from_most_used ; ?> </a></p>
2010-03-28 04:37:10 +02:00
< ? php endif ; ?>
2009-08-14 20:58:22 +02:00
< ? php
}
/**
* Display post categories form fields .
*
* @ since 2.6 . 0
*
2014-05-19 05:23:13 +02:00
* @ todo Create taxonomy - agnostic wrapper for this .
*
* @ param WP_Post $post Post object .
* @ param array $box {
* Categories meta box arguments .
*
* @ type string $id Meta box ID .
* @ type string $title Meta box title .
* @ type callback $callback Meta box display callback .
* @ type array $args {
* Extra meta box arguments .
*
* @ type string $taxonomy Taxonomy . Default 'category' .
* }
* }
2009-08-14 20:58:22 +02:00
*/
2010-01-22 20:30:05 +01:00
function post_categories_meta_box ( $post , $box ) {
2014-05-13 07:48:17 +02:00
$defaults = array ( 'taxonomy' => 'category' );
if ( ! isset ( $box [ 'args' ] ) || ! is_array ( $box [ 'args' ] ) ) {
2010-03-20 03:39:58 +01:00
$args = array ();
2014-05-13 07:48:17 +02:00
} else {
2010-01-22 20:30:05 +01:00
$args = $box [ 'args' ];
2014-05-13 07:48:17 +02:00
}
$r = wp_parse_args ( $args , $defaults );
2014-07-11 20:56:16 +02:00
$tax_name = esc_attr ( $r [ 'taxonomy' ] );
$taxonomy = get_taxonomy ( $r [ 'taxonomy' ] );
2010-03-20 03:39:58 +01:00
?>
2014-07-11 20:56:16 +02:00
< div id = " taxonomy-<?php echo $tax_name ; ?> " class = " categorydiv " >
< ul id = " <?php echo $tax_name ; ?>-tabs " class = " category-tabs " >
< li class = " tabs " >< a href = " #<?php echo $tax_name ; ?>-all " >< ? php echo $taxonomy -> labels -> all_items ; ?> </a></li>
< li class = " hide-if-no-js " >< a href = " #<?php echo $tax_name ; ?>-pop " >< ? php _e ( 'Most Used' ); ?> </a></li>
2010-03-20 03:39:58 +01:00
</ ul >
2010-01-22 20:30:05 +01:00
2014-07-11 20:56:16 +02:00
< div id = " <?php echo $tax_name ; ?>-pop " class = " tabs-panel " style = " display: none; " >
< ul id = " <?php echo $tax_name ; ?>checklist-pop " class = " categorychecklist form-no-clear " >
< ? php $popular_ids = wp_popular_terms_checklist ( $tax_name ); ?>
2010-01-22 20:30:05 +01:00
</ ul >
</ div >
2014-07-11 20:56:16 +02:00
< div id = " <?php echo $tax_name ; ?>-all " class = " tabs-panel " >
2010-05-04 01:35:22 +02:00
< ? php
2014-07-11 20:56:16 +02:00
$name = ( $tax_name == 'category' ) ? 'post_category' : 'tax_input[' . $tax_name . ']' ;
2010-05-04 01:35:22 +02:00
echo " <input type='hidden' name=' { $name } []' value='0' /> " ; // Allows for an empty term set to be sent. 0 is an invalid Term ID and will be ignored by empty() checks.
?>
2014-07-11 20:56:16 +02:00
< ul id = " <?php echo $tax_name ; ?>checklist " data - wp - lists = " list:<?php echo $tax_name ; ?> " class = " categorychecklist form-no-clear " >
< ? php wp_terms_checklist ( $post -> ID , array ( 'taxonomy' => $tax_name , 'popular_cats' => $popular_ids ) ); ?>
2010-01-22 20:30:05 +01:00
</ ul >
</ div >
2014-07-11 20:56:16 +02:00
< ? php if ( current_user_can ( $taxonomy -> cap -> edit_terms ) ) : ?>
< div id = " <?php echo $tax_name ; ?>-adder " class = " wp-hidden-children " >
2010-05-14 02:34:04 +02:00
< h4 >
2014-07-11 20:56:16 +02:00
< a id = " <?php echo $tax_name ; ?>-add-toggle " href = " #<?php echo $tax_name ; ?>-add " class = " hide-if-no-js " >
2010-05-14 02:34:04 +02:00
< ? php
/* translators: %s: add new taxonomy label */
2014-07-11 20:56:16 +02:00
printf ( __ ( '+ %s' ), $taxonomy -> labels -> add_new_item );
2010-05-14 02:34:04 +02:00
?>
</ a >
</ h4 >
2014-07-11 20:56:16 +02:00
< p id = " <?php echo $tax_name ; ?>-add " class = " category-add wp-hidden-child " >
< label class = " screen-reader-text " for = " new<?php echo $tax_name ; ?> " >< ? php echo $taxonomy -> labels -> add_new_item ; ?> </label>
< input type = " text " name = " new<?php echo $tax_name ; ?> " id = " new<?php echo $tax_name ; ?> " class = " form-required form-input-tip " value = " <?php echo esc_attr( $taxonomy->labels ->new_item_name ); ?> " aria - required = " true " />
< label class = " screen-reader-text " for = " new<?php echo $tax_name ; ?>_parent " >
< ? php echo $taxonomy -> labels -> parent_item_colon ; ?>
2010-05-14 02:34:04 +02:00
</ label >
2014-07-11 20:56:16 +02:00
< ? php wp_dropdown_categories ( array ( 'taxonomy' => $tax_name , 'hide_empty' => 0 , 'name' => 'new' . $tax_name . '_parent' , 'orderby' => 'name' , 'hierarchical' => 1 , 'show_option_none' => '— ' . $taxonomy -> labels -> parent_item . ' —' ) ); ?>
< input type = " button " id = " <?php echo $tax_name ; ?>-add-submit " data - wp - lists = " add:<?php echo $tax_name ; ?>checklist:<?php echo $tax_name ; ?>-add " class = " button category-add-submit " value = " <?php echo esc_attr( $taxonomy->labels ->add_new_item ); ?> " />
< ? php wp_nonce_field ( 'add-' . $tax_name , '_ajax_nonce-add-' . $tax_name , false ); ?>
< span id = " <?php echo $tax_name ; ?>-ajax-response " ></ span >
2010-03-20 03:39:58 +01:00
</ p >
</ div >
< ? php endif ; ?>
</ div >
< ? php
2009-08-14 20:58:22 +02:00
}
/**
* Display post excerpt form fields .
*
* @ since 2.6 . 0
*
* @ param object $post
*/
function post_excerpt_meta_box ( $post ) {
?>
2012-07-24 02:15:15 +02:00
< label class = " screen-reader-text " for = " excerpt " >< ? php _e ( 'Excerpt' ) ?> </label><textarea rows="1" cols="40" name="excerpt" id="excerpt"><?php echo $post->post_excerpt; // textarea_escaped ?></textarea>
2009-08-14 20:58:22 +02:00
< p >< ? php _e ( 'Excerpts are optional hand-crafted summaries of your content that can be used in your theme. <a href="http://codex.wordpress.org/Excerpt" target="_blank">Learn more about manual excerpts.</a>' ); ?> </p>
< ? php
}
/**
* Display trackback links form fields .
*
* @ since 2.6 . 0
*
* @ param object $post
*/
function post_trackback_meta_box ( $post ) {
2012-07-24 02:15:15 +02:00
$form_trackback = '<input type="text" name="trackback_url" id="trackback_url" class="code" value="' . esc_attr ( str_replace ( " \n " , ' ' , $post -> to_ping ) ) . '" />' ;
2009-08-14 20:58:22 +02:00
if ( '' != $post -> pinged ) {
$pings = '<p>' . __ ( 'Already pinged:' ) . '</p><ul>' ;
$already_pinged = explode ( " \n " , trim ( $post -> pinged ));
foreach ( $already_pinged as $pinged_url ) {
$pings .= " \n \t <li> " . esc_html ( $pinged_url ) . " </li> " ;
}
$pings .= '</ul>' ;
}
?>
< p >< label for = " trackback_url " >< ? php _e ( 'Send trackbacks to:' ); ?> </label> <?php echo $form_trackback; ?><br /> (<?php _e('Separate multiple URLs with spaces'); ?>)</p>
2010-04-30 05:17:49 +02:00
< p >< ? php _e ( 'Trackbacks are a way to notify legacy blog systems that you’ve linked to them. If you link other WordPress sites they’ll be notified automatically using <a href="http://codex.wordpress.org/Introduction_to_Blogging#Managing_Comments" target="_blank">pingbacks</a>, no other action necessary.' ); ?> </p>
2009-08-14 20:58:22 +02:00
< ? php
if ( ! empty ( $pings ) )
echo $pings ;
}
/**
* Display custom fields form fields .
*
* @ since 2.6 . 0
*
* @ param object $post
*/
function post_custom_meta_box ( $post ) {
?>
< div id = " postcustomstuff " >
< div id = " ajax-response " ></ div >
< ? php
$metadata = has_meta ( $post -> ID );
2011-07-21 00:04:35 +02:00
foreach ( $metadata as $key => $value ) {
if ( is_protected_meta ( $metadata [ $key ][ 'meta_key' ], 'post' ) || ! current_user_can ( 'edit_post_meta' , $post -> ID , $metadata [ $key ][ 'meta_key' ] ) )
unset ( $metadata [ $key ] );
}
list_meta ( $metadata );
2013-09-24 03:31:10 +02:00
meta_form ( $post ); ?>
2009-08-14 20:58:22 +02:00
</ div >
< 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>
< ? php
}
/**
* Display comments status form fields .
*
* @ since 2.6 . 0
*
* @ param object $post
*/
function post_comment_status_meta_box ( $post ) {
?>
< input name = " advanced_view " type = " hidden " value = " 1 " />
< p class = " meta-options " >
2010-05-25 21:47:22 +02:00
< label for = " comment_status " class = " selectit " >< input name = " comment_status " type = " checkbox " id = " comment_status " value = " open " < ? php checked ( $post -> comment_status , 'open' ); ?> /> <?php _e( 'Allow comments.' ) ?></label><br />
< label for = " ping_status " class = " selectit " >< input name = " ping_status " type = " checkbox " id = " ping_status " value = " open " < ? php checked ( $post -> ping_status , 'open' ); ?> /> <?php printf( __( 'Allow <a href="%s" target="_blank">trackbacks and pingbacks</a> on this page.' ), __( 'http://codex.wordpress.org/Introduction_to_Blogging#Managing_Comments' ) ); ?></label>
2014-01-08 05:06:12 +01:00
< ? php
/**
* Fires at the end of the Discussion meta box on the post editing screen .
*
* @ since 3.1 . 0
*
* @ param WP_Post $post WP_Post object of the current post .
*/
do_action ( 'post_comment_status_meta_box-options' , $post );
?>
2009-08-14 20:58:22 +02:00
</ p >
< ? php
}
2010-03-26 20:36:49 +01:00
/**
2010-03-21 03:29:11 +01:00
* Display comments for post table header
2010-03-26 20:36:49 +01:00
*
2010-03-26 20:13:36 +01:00
* @ since 3.0 . 0
2010-03-26 20:36:49 +01:00
*
2010-09-07 13:21:11 +02:00
* @ param array $result table header rows
* @ return array
2010-03-26 20:36:49 +01:00
*/
function post_comment_meta_box_thead ( $result ) {
2010-03-20 03:35:17 +01:00
unset ( $result [ 'cb' ], $result [ 'response' ]);
2010-03-26 20:36:49 +01:00
return $result ;
}
2009-08-14 20:58:22 +02:00
/**
* Display comments for post .
*
* @ since 2.8 . 0
*
* @ param object $post
*/
2012-09-04 18:29:28 +02:00
function post_comment_meta_box ( $post ) {
2012-03-09 02:30:11 +01:00
wp_nonce_field ( 'get-comments' , 'add_comment_nonce' , false );
?>
2014-03-26 19:53:15 +01:00
< p class = " hide-if-no-js " id = " add-new-comment " >< a class = " button " href = " #commentstatusdiv " onclick = " window.commentReply && commentReply.addcomment(<?php echo $post->ID ; ?>);return false; " >< ? php _e ( 'Add comment' ); ?> </a></p>
2012-03-09 02:30:11 +01:00
< ? php
2012-09-04 18:29:28 +02:00
$total = get_comments ( array ( 'post_id' => $post -> ID , 'number' => 1 , 'count' => true ) );
2012-03-09 02:30:11 +01:00
$wp_list_table = _get_list_table ( 'WP_Post_Comments_List_Table' );
$wp_list_table -> display ( true );
2009-08-14 20:58:22 +02:00
if ( 1 > $total ) {
2012-03-09 02:30:11 +01:00
echo '<p id="no-comments">' . __ ( 'No comments yet.' ) . '</p>' ;
} else {
2012-06-25 21:56:48 +02:00
$hidden = get_hidden_meta_boxes ( get_current_screen () );
2012-03-09 02:30:11 +01:00
if ( ! in_array ( 'commentsdiv' , $hidden ) ) {
?>
< script type = " text/javascript " > jQuery ( document ) . ready ( function (){ commentsBox . get ( < ? php echo $total ; ?> , 10);});</script>
< ? php
}
2009-08-14 20:58:22 +02:00
2012-06-25 21:56:48 +02:00
?>
2012-09-26 21:57:44 +02:00
< p class = " hide-if-no-js " id = " show-comments " >< a href = " #commentstatusdiv " onclick = " commentsBox.get(<?php echo $total ; ?>);return false; " >< ? php _e ( 'Show comments' ); ?> </a> <span class="spinner"></span></p>
2012-06-25 21:56:48 +02:00
< ? php
}
2010-08-13 01:58:49 +02:00
2009-10-08 10:24:59 +02:00
wp_comment_trashnotice ();
2009-08-14 20:58:22 +02:00
}
/**
* Display slug form fields .
*
* @ since 2.6 . 0
*
* @ param object $post
*/
function post_slug_meta_box ( $post ) {
2014-01-08 05:06:12 +01:00
/** This filter is documented in wp-admin/edit-tag-form.php */
2009-08-14 20:58:22 +02:00
?>
2014-01-08 05:06:12 +01:00
< label class = " screen-reader-text " for = " post_name " >< ? php _e ( 'Slug' ) ?> </label><input name="post_name" type="text" size="13" id="post_name" value="<?php echo esc_attr( apply_filters( 'editable_slug', $post->post_name ) ); ?>" />
2009-08-14 20:58:22 +02:00
< ? php
}
/**
* Display form field with list of authors .
*
* @ since 2.6 . 0
*
* @ param object $post
*/
function post_author_meta_box ( $post ) {
2010-08-27 03:07:21 +02:00
global $user_ID ;
2009-08-14 20:58:22 +02:00
?>
2010-08-27 03:07:21 +02:00
< label class = " screen-reader-text " for = " post_author_override " >< ? php _e ( 'Author' ); ?> </label>
2009-08-14 20:58:22 +02:00
< ? php
2010-10-19 09:48:22 +02:00
wp_dropdown_users ( array (
2010-12-20 18:25:39 +01:00
'who' => 'authors' ,
2010-10-19 09:48:22 +02:00
'name' => 'post_author_override' ,
2011-01-01 02:52:03 +01:00
'selected' => empty ( $post -> ID ) ? $user_ID : $post -> post_author ,
'include_selected' => true
2010-08-27 03:07:21 +02:00
) );
2009-08-14 20:58:22 +02:00
}
/**
* Display list of revisions .
*
* @ since 2.6 . 0
*
* @ param object $post
*/
2013-05-04 14:54:00 +02:00
function post_revisions_meta_box ( $post ) {
wp_list_post_revisions ( $post );
2009-08-14 20:58:22 +02:00
}
// -- Page related Meta Boxes
/**
* Display page attributes form fields .
*
* @ since 2.7 . 0
*
* @ param object $post
*/
2010-03-20 03:37:16 +01:00
function page_attributes_meta_box ( $post ) {
2010-03-20 03:46:31 +01:00
$post_type_object = get_post_type_object ( $post -> post_type );
if ( $post_type_object -> hierarchical ) {
2011-09-29 23:21:15 +02:00
$dropdown_args = array (
'post_type' => $post -> post_type ,
'exclude_tree' => $post -> ID ,
'selected' => $post -> post_parent ,
'name' => 'parent_id' ,
'show_option_none' => __ ( '(no parent)' ),
'sort_column' => 'menu_order, post_title' ,
'echo' => 0 ,
);
2014-01-08 05:06:12 +01:00
/**
* Filter the arguments used to generate a Pages drop - down element .
*
* @ since 3.3 . 0
*
* @ see wp_dropdown_pages ()
*
* @ param array $dropdown_args Array of arguments used to generate the pages drop - down .
* @ param WP_Post $post The current WP_Post object .
*/
2011-09-29 23:21:15 +02:00
$dropdown_args = apply_filters ( 'page_attributes_dropdown_pages_args' , $dropdown_args , $post );
$pages = wp_dropdown_pages ( $dropdown_args );
2010-04-25 10:30:32 +02:00
if ( ! empty ( $pages ) ) {
2009-08-14 20:58:22 +02:00
?>
2010-05-27 02:16:34 +02:00
< p >< strong >< ? php _e ( 'Parent' ) ?> </strong></p>
2010-05-26 09:14:42 +02:00
< label class = " screen-reader-text " for = " parent_id " >< ? php _e ( 'Parent' ) ?> </label>
2010-04-25 10:30:32 +02:00
< ? php echo $pages ; ?>
2009-08-14 20:58:22 +02:00
< ? php
2010-04-25 10:30:32 +02:00
} // end empty pages check
2010-03-20 03:46:31 +01:00
} // end hierarchical check.
2014-03-08 05:19:16 +01:00
if ( 'page' == $post -> post_type && 0 != count ( get_page_templates ( $post ) ) ) {
2010-03-20 03:37:16 +01:00
$template = ! empty ( $post -> page_template ) ? $post -> page_template : false ;
?>
2010-05-27 02:16:34 +02:00
< p >< strong >< ? php _e ( 'Template' ) ?> </strong></p>
2009-08-14 20:58:22 +02:00
< label class = " screen-reader-text " for = " page_template " >< ? php _e ( 'Page Template' ) ?> </label><select name="page_template" id="page_template">
< option value = 'default' >< ? php _e ( 'Default Template' ); ?> </option>
2010-03-20 03:37:16 +01:00
< ? php page_template_dropdown ( $template ); ?>
2009-08-14 20:58:22 +02:00
</ select >
< ? php
} ?>
2010-05-27 02:16:34 +02:00
< p >< strong >< ? php _e ( 'Order' ) ?> </strong></p>
2010-05-26 09:14:42 +02:00
< p >< label class = " screen-reader-text " for = " menu_order " >< ? php _e ( 'Order' ) ?> </label><input name="menu_order" type="text" size="4" id="menu_order" value="<?php echo esc_attr($post->menu_order) ?>" /></p>
2010-05-27 02:16:34 +02:00
< p >< ? php if ( 'page' == $post -> post_type ) _e ( 'Need help? Use the Help tab in the upper right of your screen.' ); ?> </p>
2009-08-14 20:58:22 +02:00
< ? php
}
// -- Link related Meta Boxes
/**
* Display link create form fields .
*
* @ since 2.7 . 0
*
* @ param object $link
*/
function link_submit_meta_box ( $link ) {
?>
< div class = " submitbox " id = " submitlink " >
< div id = " minor-publishing " >
< ? php // Hidden submit button early on so that the browser chooses the right button when form is submitted with Return key ?>
< div style = " display:none; " >
2010-10-28 23:56:43 +02:00
< ? php submit_button ( __ ( 'Save' ), 'button' , 'save' , false ); ?>
2009-08-14 20:58:22 +02:00
</ div >
< div id = " minor-publishing-actions " >
< div id = " preview-action " >
< ? php if ( ! empty ( $link -> link_id ) ) { ?>
2012-07-24 02:15:15 +02:00
< a class = " preview button " href = " <?php echo $link->link_url ; ?> " target = " _blank " >< ? php _e ( 'Visit Link' ); ?> </a>
2009-08-14 20:58:22 +02:00
< ? php } ?>
</ div >
< div class = " clear " ></ div >
</ div >
< div id = " misc-publishing-actions " >
2013-08-22 17:24:10 +02:00
< div class = " misc-pub-section misc-pub-private " >
2009-08-14 20:58:22 +02:00
< label for = " link_private " class = " selectit " >< input id = " link_private " name = " link_visible " type = " checkbox " value = " N " < ? php checked ( $link -> link_visible , 'N' ); ?> /> <?php _e('Keep this link private') ?></label>
</ div >
</ div >
</ div >
< div id = " major-publishing-actions " >
2014-01-08 05:06:12 +01:00
< ? php
/** This action is documented in wp-admin/includes/meta-boxes.php */
do_action ( 'post_submitbox_start' );
?>
2009-08-14 20:58:22 +02:00
< div id = " delete-action " >
< ? php
if ( ! empty ( $_GET [ 'action' ]) && 'edit' == $_GET [ 'action' ] && current_user_can ( 'manage_links' ) ) { ?>
2011-12-14 18:36:38 +01:00
< a class = " submitdelete deletion " href = " <?php echo wp_nonce_url( " link . php ? action = delete & amp ; link_id = $link -> link_id " , 'delete-bookmark_' . $link->link_id ); ?> " onclick = " if ( confirm('<?php echo esc_js(sprintf(__( " You are about to delete this link '%s' \n 'Cancel' to stop , 'OK' to delete . " ), $link->link_name )); ?>') ) { return true;}return false; " >< ? php _e ( 'Delete' ); ?> </a>
2009-08-14 20:58:22 +02:00
< ? php } ?>
</ div >
< div id = " publishing-action " >
< ? php if ( ! empty ( $link -> link_id ) ) { ?>
2012-09-21 21:34:23 +02:00
< input name = " save " type = " submit " class = " button-large button-primary " id = " publish " accesskey = " p " value = " <?php esc_attr_e('Update Link') ?> " />
2009-08-14 20:58:22 +02:00
< ? php } else { ?>
2012-09-21 21:34:23 +02:00
< input name = " save " type = " submit " class = " button-large button-primary " id = " publish " accesskey = " p " value = " <?php esc_attr_e('Add Link') ?> " />
2009-08-14 20:58:22 +02:00
< ? php } ?>
</ div >
< div class = " clear " ></ div >
</ div >
2014-01-08 05:06:12 +01:00
< ? php
/**
* Fires at the end of the Publish box in the Link editing screen .
*
* @ since 2.5 . 0
*/
do_action ( 'submitlink_box' );
?>
2009-08-14 20:58:22 +02:00
< div class = " clear " ></ div >
</ div >
< ? php
}
/**
* Display link categories form fields .
*
* @ since 2.6 . 0
*
* @ param object $link
*/
2012-03-23 22:41:00 +01:00
function link_categories_meta_box ( $link ) {
?>
< div id = " taxonomy-linkcategory " class = " categorydiv " >
< ul id = " category-tabs " class = " category-tabs " >
< li class = " tabs " >< a href = " #categories-all " >< ? php _e ( 'All Categories' ); ?> </a></li>
< li class = " hide-if-no-js " >< a href = " #categories-pop " >< ? php _e ( 'Most Used' ); ?> </a></li>
2009-08-14 20:58:22 +02:00
</ ul >
2012-05-03 18:41:59 +02:00
2012-03-23 22:41:00 +01:00
< div id = " categories-all " class = " tabs-panel " >
2012-11-06 02:01:52 +01:00
< ul id = " categorychecklist " data - wp - lists = " list:category " class = " categorychecklist form-no-clear " >
2012-03-23 22:41:00 +01:00
< ? php
if ( isset ( $link -> link_id ) )
wp_link_category_checklist ( $link -> link_id );
else
wp_link_category_checklist ();
?>
</ ul >
</ div >
2012-05-03 18:41:59 +02:00
2012-03-23 22:41:00 +01:00
< div id = " categories-pop " class = " tabs-panel " style = " display: none; " >
< ul id = " categorychecklist-pop " class = " categorychecklist form-no-clear " >
< ? php wp_popular_terms_checklist ( 'link_category' ); ?>
</ ul >
</ div >
2012-05-03 18:41:59 +02:00
2012-03-23 22:41:00 +01:00
< div id = " category-adder " class = " wp-hidden-children " >
< h4 >< a id = " category-add-toggle " href = " #category-add " >< ? php _e ( '+ Add New Category' ); ?> </a></h4>
< p id = " link-category-add " class = " wp-hidden-child " >
< label class = " screen-reader-text " for = " newcat " >< ? php _e ( '+ Add New Category' ); ?> </label>
< input type = " text " name = " newcat " id = " newcat " class = " form-required form-input-tip " value = " <?php esc_attr_e( 'New category name' ); ?> " aria - required = " true " />
2012-11-06 02:01:52 +01:00
< input type = " button " id = " link-category-add-submit " data - wp - lists = " add:categorychecklist:link-category-add " class = " button " value = " <?php esc_attr_e( 'Add' ); ?> " />
2012-03-23 22:41:00 +01:00
< ? php wp_nonce_field ( 'add-link-category' , '_ajax_nonce' , false ); ?>
< span id = " category-ajax-response " ></ span >
</ p >
</ div >
2009-08-14 20:58:22 +02:00
</ div >
< ? php
}
/**
* Display form fields for changing link target .
*
* @ since 2.6 . 0
*
* @ param object $link
*/
function link_target_meta_box ( $link ) { ?>
< fieldset >< legend class = " screen-reader-text " >< span >< ? php _e ( 'Target' ) ?> </span></legend>
< p >< label for = " link_target_blank " class = " selectit " >
< input id = " link_target_blank " type = " radio " name = " link_target " value = " _blank " < ? php echo ( isset ( $link -> link_target ) && ( $link -> link_target == '_blank' ) ? 'checked="checked"' : '' ); ?> />
2010-01-21 22:37:43 +01:00
< ? php _e ( '<code>_blank</code> — new window or tab.' ); ?> </label></p>
2009-08-14 20:58:22 +02:00
< p >< label for = " link_target_top " class = " selectit " >
< input id = " link_target_top " type = " radio " name = " link_target " value = " _top " < ? php echo ( isset ( $link -> link_target ) && ( $link -> link_target == '_top' ) ? 'checked="checked"' : '' ); ?> />
2010-01-21 22:37:43 +01:00
< ? php _e ( '<code>_top</code> — current window or tab, with no frames.' ); ?> </label></p>
2009-08-14 20:58:22 +02:00
< p >< label for = " link_target_none " class = " selectit " >
< input id = " link_target_none " type = " radio " name = " link_target " value = " " < ? php echo ( isset ( $link -> link_target ) && ( $link -> link_target == '' ) ? 'checked="checked"' : '' ); ?> />
2010-01-21 22:37:43 +01:00
< ? php _e ( '<code>_none</code> — same window or tab.' ); ?> </label></p>
2009-08-14 20:58:22 +02:00
</ fieldset >
< p >< ? php _e ( 'Choose the target frame for your link.' ); ?> </p>
< ? php
}
/**
* Display checked checkboxes attribute for xfn microformat options .
*
* @ since 1.0 . 1
*
* @ param string $class
* @ param string $value
2010-01-09 11:03:55 +01:00
* @ param mixed $deprecated Never used .
2009-08-14 20:58:22 +02:00
*/
2010-01-09 11:03:55 +01:00
function xfn_check ( $class , $value = '' , $deprecated = '' ) {
2009-08-14 20:58:22 +02:00
global $link ;
2009-12-30 17:23:39 +01:00
if ( ! empty ( $deprecated ) )
2010-01-09 11:03:55 +01:00
_deprecated_argument ( __FUNCTION__ , '0.0' ); // Never implemented
2009-12-30 17:23:39 +01:00
2009-08-14 20:58:22 +02:00
$link_rel = isset ( $link -> link_rel ) ? $link -> link_rel : '' ; // In PHP 5.3: $link_rel = $link->link_rel ?: '';
$rels = preg_split ( '/\s+/' , $link_rel );
if ( '' != $value && in_array ( $value , $rels ) ) {
echo ' checked="checked"' ;
}
if ( '' == $value ) {
if ( 'family' == $class && strpos ( $link_rel , 'child' ) === false && strpos ( $link_rel , 'parent' ) === false && strpos ( $link_rel , 'sibling' ) === false && strpos ( $link_rel , 'spouse' ) === false && strpos ( $link_rel , 'kin' ) === false ) echo ' checked="checked"' ;
if ( 'friendship' == $class && strpos ( $link_rel , 'friend' ) === false && strpos ( $link_rel , 'acquaintance' ) === false && strpos ( $link_rel , 'contact' ) === false ) echo ' checked="checked"' ;
if ( 'geographical' == $class && strpos ( $link_rel , 'co-resident' ) === false && strpos ( $link_rel , 'neighbor' ) === false ) echo ' checked="checked"' ;
if ( 'identity' == $class && in_array ( 'me' , $rels ) ) echo ' checked="checked"' ;
}
}
/**
* Display xfn form fields .
*
* @ since 2.6 . 0
*
* @ param object $link
*/
function link_xfn_meta_box ( $link ) {
?>
2014-01-26 21:28:12 +01:00
< table class = " links-table " >
2009-08-14 20:58:22 +02:00
< tr >
2012-04-04 04:45:30 +02:00
< th scope = " row " >< label for = " link_rel " >< ? php /* translators: xfn: http://gmpg.org/xfn/ */ _e ( 'rel:' ) ?> </label></th>
< td >< input type = " text " name = " link_rel " id = " link_rel " value = " <?php echo ( isset( $link->link_rel ) ? esc_attr( $link->link_rel ) : ''); ?> " /></ td >
2009-08-14 20:58:22 +02:00
</ tr >
< tr >
2012-04-04 04:45:30 +02:00
< th scope = " row " >< ? php /* translators: xfn: http://gmpg.org/xfn/ */ _e ( 'identity' ) ?> </th>
< td >< fieldset >< legend class = " screen-reader-text " >< span >< ? php /* translators: xfn: http://gmpg.org/xfn/ */ _e ( 'identity' ) ?> </span></legend>
< label for = " me " >
< input type = " checkbox " name = " identity " value = " me " id = " me " < ? php xfn_check ( 'identity' , 'me' ); ?> />
< ? php _e ( 'another web address of mine' ) ?> </label>
</ fieldset ></ td >
</ tr >
< tr >
< th scope = " row " >< ? php /* translators: xfn: http://gmpg.org/xfn/ */ _e ( 'friendship' ) ?> </th>
< td >< fieldset >< legend class = " screen-reader-text " >< span >< ? php /* translators: xfn: http://gmpg.org/xfn/ */ _e ( 'friendship' ) ?> </span></legend>
< label for = " contact " >
< input class = " valinp " type = " radio " name = " friendship " value = " contact " id = " contact " < ? php xfn_check ( 'friendship' , 'contact' ); ?> /> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('contact') ?>
</ label >
< label for = " acquaintance " >
< input class = " valinp " type = " radio " name = " friendship " value = " acquaintance " id = " acquaintance " < ? php xfn_check ( 'friendship' , 'acquaintance' ); ?> /> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('acquaintance') ?>
</ label >
< label for = " friend " >
< input class = " valinp " type = " radio " name = " friendship " value = " friend " id = " friend " < ? php xfn_check ( 'friendship' , 'friend' ); ?> /> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('friend') ?>
</ label >
< label for = " friendship " >
< input name = " friendship " type = " radio " class = " valinp " value = " " id = " friendship " < ? php xfn_check ( 'friendship' ); ?> /> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('none') ?>
</ label >
</ fieldset ></ td >
</ tr >
< tr >
< th scope = " row " > < ? php /* translators: xfn: http://gmpg.org/xfn/ */ _e ( 'physical' ) ?> </th>
< td >< fieldset >< legend class = " screen-reader-text " >< span >< ? php /* translators: xfn: http://gmpg.org/xfn/ */ _e ( 'physical' ) ?> </span></legend>
< label for = " met " >
< input class = " valinp " type = " checkbox " name = " physical " value = " met " id = " met " < ? php xfn_check ( 'physical' , 'met' ); ?> /> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('met') ?>
</ label >
</ fieldset ></ td >
</ tr >
< tr >
< th scope = " row " > < ? php /* translators: xfn: http://gmpg.org/xfn/ */ _e ( 'professional' ) ?> </th>
< td >< fieldset >< legend class = " screen-reader-text " >< span >< ? php /* translators: xfn: http://gmpg.org/xfn/ */ _e ( 'professional' ) ?> </span></legend>
< label for = " co-worker " >
< input class = " valinp " type = " checkbox " name = " professional " value = " co-worker " id = " co-worker " < ? php xfn_check ( 'professional' , 'co-worker' ); ?> /> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('co-worker') ?>
</ label >
< label for = " colleague " >
< input class = " valinp " type = " checkbox " name = " professional " value = " colleague " id = " colleague " < ? php xfn_check ( 'professional' , 'colleague' ); ?> /> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('colleague') ?>
</ label >
</ fieldset ></ td >
</ tr >
< tr >
< th scope = " row " >< ? php /* translators: xfn: http://gmpg.org/xfn/ */ _e ( 'geographical' ) ?> </th>
< td >< fieldset >< legend class = " screen-reader-text " >< span > < ? php /* translators: xfn: http://gmpg.org/xfn/ */ _e ( 'geographical' ) ?> </span></legend>
< label for = " co-resident " >
< input class = " valinp " type = " radio " name = " geographical " value = " co-resident " id = " co-resident " < ? php xfn_check ( 'geographical' , 'co-resident' ); ?> /> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('co-resident') ?>
</ label >
< label for = " neighbor " >
< input class = " valinp " type = " radio " name = " geographical " value = " neighbor " id = " neighbor " < ? php xfn_check ( 'geographical' , 'neighbor' ); ?> /> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('neighbor') ?>
</ label >
< label for = " geographical " >
< input class = " valinp " type = " radio " name = " geographical " value = " " id = " geographical " < ? php xfn_check ( 'geographical' ); ?> /> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('none') ?>
</ label >
</ fieldset ></ td >
2009-08-14 20:58:22 +02:00
</ tr >
2012-04-04 04:45:30 +02:00
< tr >
< th scope = " row " >< ? php /* translators: xfn: http://gmpg.org/xfn/ */ _e ( 'family' ) ?> </th>
< td >< fieldset >< legend class = " screen-reader-text " >< span > < ? php /* translators: xfn: http://gmpg.org/xfn/ */ _e ( 'family' ) ?> </span></legend>
< label for = " child " >
< input class = " valinp " type = " radio " name = " family " value = " child " id = " child " < ? php xfn_check ( 'family' , 'child' ); ?> /> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('child') ?>
</ label >
< label for = " kin " >
< input class = " valinp " type = " radio " name = " family " value = " kin " id = " kin " < ? php xfn_check ( 'family' , 'kin' ); ?> /> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('kin') ?>
</ label >
< label for = " parent " >
< input class = " valinp " type = " radio " name = " family " value = " parent " id = " parent " < ? php xfn_check ( 'family' , 'parent' ); ?> /> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('parent') ?>
</ label >
< label for = " sibling " >
< input class = " valinp " type = " radio " name = " family " value = " sibling " id = " sibling " < ? php xfn_check ( 'family' , 'sibling' ); ?> /> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('sibling') ?>
</ label >
< label for = " spouse " >
< input class = " valinp " type = " radio " name = " family " value = " spouse " id = " spouse " < ? php xfn_check ( 'family' , 'spouse' ); ?> /> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('spouse') ?>
</ label >
< label for = " family " >
< input class = " valinp " type = " radio " name = " family " value = " " id = " family " < ? php xfn_check ( 'family' ); ?> /> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('none') ?>
</ label >
</ fieldset ></ td >
</ tr >
< tr >
< th scope = " row " >< ? php /* translators: xfn: http://gmpg.org/xfn/ */ _e ( 'romantic' ) ?> </th>
< td >< fieldset >< legend class = " screen-reader-text " >< span > < ? php /* translators: xfn: http://gmpg.org/xfn/ */ _e ( 'romantic' ) ?> </span></legend>
< label for = " muse " >
< input class = " valinp " type = " checkbox " name = " romantic " value = " muse " id = " muse " < ? php xfn_check ( 'romantic' , 'muse' ); ?> /> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('muse') ?>
</ label >
< label for = " crush " >
< input class = " valinp " type = " checkbox " name = " romantic " value = " crush " id = " crush " < ? php xfn_check ( 'romantic' , 'crush' ); ?> /> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('crush') ?>
</ label >
< label for = " date " >
< input class = " valinp " type = " checkbox " name = " romantic " value = " date " id = " date " < ? php xfn_check ( 'romantic' , 'date' ); ?> /> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('date') ?>
</ label >
< label for = " romantic " >
< input class = " valinp " type = " checkbox " name = " romantic " value = " sweetheart " id = " romantic " < ? php xfn_check ( 'romantic' , 'sweetheart' ); ?> /> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('sweetheart') ?>
</ label >
</ fieldset ></ td >
</ tr >
2009-08-14 20:58:22 +02:00
</ table >
< p >< ? php _e ( 'If the link is to a person, you can specify your relationship with them using the above form. If you would like to learn more about the idea check out <a href="http://gmpg.org/xfn/">XFN</a>.' ); ?> </p>
< ? php
}
/**
* Display advanced link options form fields .
*
* @ since 2.6 . 0
*
* @ param object $link
*/
function link_advanced_meta_box ( $link ) {
?>
2012-04-04 04:45:30 +02:00
< table class = " links-table " cellpadding = " 0 " >
< tr >
< th scope = " row " >< label for = " link_image " >< ? php _e ( 'Image Address' ) ?> </label></th>
2013-10-02 23:11:10 +02:00
< td >< input type = " text " name = " link_image " class = " code " id = " link_image " maxlength = " 255 " value = " <?php echo ( isset( $link->link_image ) ? esc_attr( $link->link_image ) : ''); ?> " /></ td >
2009-08-14 20:58:22 +02:00
</ tr >
2012-04-04 04:45:30 +02:00
< tr >
< th scope = " row " >< label for = " rss_uri " >< ? php _e ( 'RSS Address' ) ?> </label></th>
2013-10-02 23:11:10 +02:00
< td >< input name = " link_rss " class = " code " type = " text " id = " rss_uri " maxlength = " 255 " value = " <?php echo ( isset( $link->link_rss ) ? esc_attr( $link->link_rss ) : ''); ?> " /></ td >
2009-08-14 20:58:22 +02:00
</ tr >
2012-04-04 04:45:30 +02:00
< tr >
< th scope = " row " >< label for = " link_notes " >< ? php _e ( 'Notes' ) ?> </label></th>
< td >< textarea name = " link_notes " id = " link_notes " rows = " 10 " >< ? php echo ( isset ( $link -> link_notes ) ? $link -> link_notes : '' ); // textarea_escaped ?></textarea></td>
2009-08-14 20:58:22 +02:00
</ tr >
2012-04-04 04:45:30 +02:00
< tr >
< th scope = " row " >< label for = " link_rating " >< ? php _e ( 'Rating' ) ?> </label></th>
2009-08-14 20:58:22 +02:00
< td >< select name = " link_rating " id = " link_rating " size = " 1 " >
< ? php
2012-04-04 04:45:30 +02:00
for ( $r = 0 ; $r <= 10 ; $r ++ ) {
echo '<option value="' . $r . '"' ;
if ( isset ( $link -> link_rating ) && $link -> link_rating == $r )
echo ' selected="selected"' ;
echo ( '>' . $r . '</option>' );
2009-08-14 20:58:22 +02:00
}
?> </select> <?php _e('(Leave at 0 for no rating.)') ?>
</ td >
</ tr >
</ table >
< ? php
}
2009-10-19 22:23:35 +02:00
/**
2009-12-10 07:14:36 +01:00
* Display post thumbnail meta box .
2009-10-19 22:23:35 +02:00
*
* @ since 2.9 . 0
*/
2012-09-04 18:29:28 +02:00
function post_thumbnail_meta_box ( $post ) {
2012-12-03 03:38:10 +01:00
$thumbnail_id = get_post_meta ( $post -> ID , '_thumbnail_id' , true );
echo _wp_post_thumbnail_html ( $thumbnail_id , $post -> ID );
2013-05-04 14:54:00 +02:00
}
2014-03-30 21:28:16 +02:00
/**
* Display fields for ID3 data
*
* @ since 3.9 . 0
*
* @ param WP_Post $post
*/
function attachment_id3_data_meta_box ( $post ) {
$meta = array ();
if ( ! empty ( $post -> ID ) ) {
$meta = wp_get_attachment_metadata ( $post -> ID );
}
2014-03-31 07:16:16 +02:00
foreach ( wp_get_attachment_id3_keys ( $post , 'edit' ) as $key => $label ) : ?>
2014-03-30 21:28:16 +02:00
< p >
2014-03-31 07:16:16 +02:00
< label for = " title " >< ? php echo $label ?> </label><br />
< input type = " text " name = " id3_<?php echo esc_attr( $key ) ?> " id = " id3_<?php echo esc_attr( $key ) ?> " class = " large-text " value = " <?php
2014-03-30 21:28:16 +02:00
if ( ! empty ( $meta [ $key ] ) ) {
echo esc_attr ( $meta [ $key ] );
}
?> " />
</ p >
2014-03-31 07:16:16 +02:00
< ? php
endforeach ;
}