반응형
WordPress의 register_post_status를 통해 새로운 사용자 지정 게시 상태 추가
사용자 지정 게시물 상태를 블로그 게시물에 추가하고 싶습니다.
제 기능에 아래 코드를 추가하였습니다.php 파일인데 빠른 편집, 새로운 페이지 게시 및 편집 페이지 게시에서 해당 게시물 상태를 볼 수 없습니다.조언 좀 해주세요.
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' );
첨부된 스크린샷:
빠른 편집 및 새로운 페이지 게시 및 편집 후 페이지에서 새로운 사용자 정의 상태를 추가하기 위한 코드입니다.
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');
select에서 status를 옵션으로 사용하려면 javascript를 추가해야 합니다.다음과 같은 방법을 시도해 보십시오.
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' );
언급URL : https://stackoverflow.com/questions/49557810/add-new-custom-post-status-via-register-post-status-in-wordpress
반응형
'programing' 카테고리의 다른 글
C와 C++에서 (...)를 무엇이라고 합니까? (0) | 2023.10.14 |
---|---|
다른 테이블에 행을 삽입하도록 MySQL 트리거를 프로그래밍하는 방법은 무엇입니까? (0) | 2023.10.14 |
DbCommand 및 매개 변수화된 SQL, ORACLE 대 SQL Server (0) | 2023.10.14 |
이진 파일을 무시하는 PowerShell 검색 스크립트 (0) | 2023.10.14 |
JSON_TABLE을 사용하여 Oracle JSON 열에서 Key Value를 결과 집합으로 가져오는 방법 (0) | 2023.10.14 |