कस्टम पोस्ट प्रकार "व्यंजनों" के लिए एक पोस्ट स्थिति "एकत्रित" दर्ज करें:
register_post_status( 'aggregated', array(
'label' => _x( 'Aggregated ', 'post status label', 'bznrd' ),
'public' => true,
'label_count' => _n_noop( 'Aggregated s <span class="count">(%s)</span>', 'Aggregated s <span class="count">(%s)</span>', 'plugin-domain' ),
'post_type' => array( 'recipes' ), // Define one or more post types the status can be applied to.
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true,
'show_in_metabox_dropdown' => true,
'show_in_inline_dropdown' => true,
'dashicon' => 'dashicons-businessman',
) );
"रेसिपी" कस्टम पोस्ट में स्क्रीन की प्रकाशित मेटाबॉक्स को संपादित करें, ड्रॉपडाउन में कस्टम पोस्ट की स्थिति को जोड़ना और "ड्राफ्ट सहेजें" बटन लेबल को बदलना अगर चयनित पोस्ट की स्थिति "एकत्रित" है:
add_action('admin_footer-post.php',function(){
global $post;
$complete = '';
$label = '';
if($post->post_type == 'recipes') {
if ( $post->post_status == 'aggregated' ) {
$complete = ' selected=\"selected\"';
$label = 'Aggregated';
}
$script = <<<SD
jQuery(document).ready(function($){
$("select#post_status").append("<option value=\"aggregated\" '.$complete.'>Aggregated</option>");
if( "{$post->post_status}" == "aggregated" ){
$("span#post-status-display").html("$label");
$("input#save-post").val("Save Aggregated");
}
var jSelect = $("select#post_status");
$("a.save-post-status").on("click", function(){
if( jSelect.val() == "aggregated" ){
$("input#save-post").val("Save Aggregated");
}
});
});
SD;
echo '<script type="text/javascript">' . $script . '</script>';
}
});
कस्टम पोस्ट व्यवस्थापक ग्रिड की त्वरित संपादन स्क्रीन में कस्टम पोस्ट की स्थिति जोड़ें:
add_action('admin_footer-edit.php',function() {
global $post;
if( $post->post_status == 'recipes' ) {
echo "<script>
jQuery(document).ready( function() {
jQuery( 'select[name=\"_status\"]' ).append( '<option value=\"aggregated\">Aggregated</option>' );
});
</script>";
}
});
कस्टम पोस्ट व्यवस्थापक ग्रिड में कुल पोस्ट की स्थिति प्रदर्शित करें:
add_filter( 'display_post_states', function( $statuses ) {
global $post;
if( $post->post_type == 'recipes') {
if ( get_query_var( 'post_status' ) != 'aggregated' ) { // not for pages with all posts of this status
if ( $post->post_status == 'aggregated' ) {
return array( 'Aggregated' );
}
}
}
return $statuses;
});