_post\\U状态(WP\\U post$post)
参数#参数
$岗位(WP\\U岗位)(必填)
Code Reference from wordpress.org (https://developer.wordpress.org/reference/functions/_post_states/)
function _post_states($post) {
$post_states = array();
if ( isset( $_REQUEST[\'post_status\'] ) )
$post_status = $_REQUEST[\'post_status\'];
else
$post_status = \'\';
if ( !empty($post->post_password) )
$post_states[\'protected\'] = __(\'Password protected\');
if ( \'private\' == $post->post_status && \'private\' != $post_status )
$post_states[\'private\'] = __(\'Private\');
if ( \'draft\' === $post->post_status ) {
if ( get_post_meta( $post->ID, \'_customize_changeset_uuid\', true ) ) {
$post_states[] = __( \'Customization Draft\' );
} elseif ( \'draft\' !== $post_status ) {
$post_states[\'draft\'] = __( \'Draft\' );
}
} elseif ( \'trash\' === $post->post_status && get_post_meta( $post->ID, \'_customize_changeset_uuid\', true ) ) {
$post_states[] = __( \'Customization Draft\' );
}
if ( \'pending\' == $post->post_status && \'pending\' != $post_status )
$post_states[\'pending\'] = _x(\'Pending\', \'post status\');
if ( is_sticky($post->ID) )
$post_states[\'sticky\'] = __(\'Sticky\');
if ( \'future\' === $post->post_status ) {
$post_states[\'scheduled\'] = __( \'Scheduled\' );
}
if ( \'page\' === get_option( \'show_on_front\' ) ) {
if ( intval( get_option( \'page_on_front\' ) ) === $post->ID ) {
$post_states[\'page_on_front\'] = __( \'Front Page\' );
}
if ( intval( get_option( \'page_for_posts\' ) ) === $post->ID ) {
$post_states[\'page_for_posts\'] = __( \'Posts Page\' );
}
}
if ( intval( get_option( \'wp_page_for_privacy_policy\' ) ) === $post->ID ) {
$post_states[\'page_for_privacy_policy\'] = __( \'Privacy Policy Page\' );
}
/**
* Filters the default post display states used in the posts list table.
*
* @since 2.8.0
* @since 3.6.0 Added the `$post` parameter.
*
* @param array $post_states An array of post display states.
* @param WP_Post $post The current post object.
*/
$post_states = apply_filters( \'display_post_states\', $post_states, $post );
if ( ! empty($post_states) ) {
$state_count = count($post_states);
$i = 0;
echo \' — \';
foreach ( $post_states as $state ) {
++$i;
( $i == $state_count ) ? $sep = \'\' : $sep = \', \';
echo "<span class=\'post-state\'>$state$sep</span>";
}
}
<小时>
例如:此代码来自
Ultimate Member 插件
/**
* Add a post display state for special UM pages in the page list table.
*
* @param array $post_states An array of post display states.
* @param \\WP_Post $post The current post object.
*
* @return mixed
*/
public function add_display_post_states( $post_states, $post ) {
foreach ( UM()->config()->core_pages as $page_key => $page_value ) {
$page_id = UM()->options()->get( UM()->options()->get_core_page_id( $page_key ) );
if ( $page_id == $post->ID ) {
$post_states[ \'um_core_page_\' . $page_key ] = sprintf( \'UM %s\', $page_value[\'title\'] );
}
}
return $post_states;
}