
Jigar
Ich möchte meinem Blog-Beitrag einen benutzerdefinierten Beitragsstatus hinzufügen.
Ich habe den folgenden Code in meiner Datei functions.php hinzugefügt, aber ich kann diesen Beitragsstatus nicht in der Schnellbearbeitung, auf der Seite „Neue Seite posten“ und auf der Seite „Beitrag bearbeiten“ sehen. Irgendein Rat?
function my_register_post_status() {
$my_status_args = array(
'label' => __('Activated', 'my'),
'label_count' => __('Activated', 'my'),
'exclude_from_search' => false,
'public' => true,
'publicly_queryable' => true,
'show_in_admin_status_list' => true,
'show_in_admin_all_list' => true,
);
register_post_status( 'status', $my_status_args );
}
add_action( 'init', 'my_register_post_status' );
Angehängte Screenshots:


Hier ist der Code zum Hinzufügen eines neuen benutzerdefinierten Status in der Schnellbearbeitung und in “Neue Seite posten” und “Post-Bearbeitungsseite”.
function my_custom_status_creation(){
register_post_status( 'approved', array(
'label' => _x( 'Approved', 'post' ),
'label_count' => _n_noop( 'Approved <span class="count">(%s)</span>', 'Approved <span class="count">(%s)</span>'),
'public' => true,
'exclude_from_search' => false,
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true
));
}
add_action( 'init', 'my_custom_status_creation' );
function my_custom_status_add_in_quick_edit() {
echo "<script>
jQuery(document).ready( function() {
jQuery( 'select[name=\"_status\"]' ).append( '<option value=\"approved\">Approved</option>' );
});
</script>";
}
add_action('admin_footer-edit.php','my_custom_status_add_in_quick_edit');
function my_custom_status_add_in_post_page() {
echo "<script>
jQuery(document).ready( function() {
jQuery( 'select[name=\"post_status\"]' ).append( '<option value=\"approved\">Approved</option>' );
});
</script>";
}
add_action('admin_footer-post.php', 'my_custom_status_add_in_post_page');
add_action('admin_footer-post-new.php', 'my_custom_status_add_in_post_page');

Omar Tanti
Sie müssen Javascript hinzufügen, um den Status als Option in der Auswahl anzuzeigen. Versuchen Sie etwas wie das Folgende:
function append_post_status_list() {
global $post;
$label = " Activate";
$complete = "<option value="activated">$label</option>";
if ( $post->post_status == 'activated' ) {
$label = " Activated";
$complete = "<option value="activated" selected='selected'>$label</option>";
}
ob_start();
?>
<script>
jQuery(document).ready(function ($) {
var label = "<?= $label ?>";
$("select#post_status").append("<?= $complete ?>");
if (' Activated' == label){
$(".misc-pub-section #post-status-display").html(label);
}
});
</script>
<?php
echo ob_get_clean();
}
add_action( 'admin_footer-post.php', 'append_post_status_list' );
10113900cookie-checkFügen Sie einen neuen benutzerdefinierten Poststatus über register_post_status in WordPress hinzuyes
Ja, lesen Sie den Hinweis hier codex.wordpress.org/Function_Reference/register_post_status Dieser Artikel soll helfen ibenic.com/create-custom-wordpress-post-status
– Andreas Schultz
29. März 2018 um 17:42 Uhr