사용자 지정 게시 상태가 나타나지 않음
저는 제 고객의 디렉토리 테마를 구축하고 있으며, 게시물 상태를 게시에서 만료로 수정하여 게시물에 만료되는 기능을 추가하고 싶습니다.
이를 위해 다음 코드를 사용하여 새로운 게시물 상태를 등록하려고 합니다.
add_action('init', 'registerStatus', 0);
function registerStatus()
{
$args = array(
'label' => _x('Expired', 'Status General Name', 'z' ),
'label_count' => _n_noop('Expired (%s)', 'Expired (%s)', 'z'),
'public' => true,
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true,
'exclude_from_search' => true
);
register_post_status('expired', $args);
}
문제는 WordPress 게시물에서도, 사용자 지정 게시물 유형의 게시물 상태에서도 등록된 게시물 상태를 볼 수 없다는 것입니다.
내가 뭘 잘못하고 있나요?
Ryan Bayne 덕분에 편집 게시 페이지의 관리자 패널에 사용자 지정 게시 상태를 추가할 수 있었습니다.사용할 수 있는 워드프레스 필터가 없습니다.그의 jQuery 솔루션은 완벽합니다.다른 사용자가 해결책을 찾고 있는 경우 코드는 다음과 같습니다.
add_action( 'post_submitbox_misc_actions', 'my_post_submitbox_misc_actions' );
function my_post_submitbox_misc_actions(){
global $post;
//only when editing a post
if( $post->post_type == 'post' ){
// custom post status: approved
$complete = '';
$label = '';
if( $post->post_status == 'approved' ){
$complete = 'selected=\"selected\"';
$label = '<span id=\"post-status-display\"> Approved</span>';
}
echo '<script>'.
'jQuery(document).ready(function($){'.
'$("select#post_status").append('.
'"<option value=\"approved\" '.$complete.'>'.
'Approved'.
'</option>"'.
');'.
'$(".misc-pub-section label").append("'.$label.'");'.
'});'.
'</script>';
}
}
사용자 지정 게시 상태 기능은 (지난 4년 동안 그래왔듯이!) 아직 개발 중입니다. https://core.trac.wordpress.org/ticket/12706, 을 참조하고 https://wordpress.stackexchange.com/q/67655/25765 에 댓글을 달아주세요.여기서 더 유용한 정보는 https://wordpress.stackexchange.com/search?q=register_post_status 입니다.
개인적으로, 사용자 지정 게시 상태를 구현하는 것을 강력히 반대하지만, 정말로 필요하다면 Edit Flow 플러그인이 어떻게 처리하는지 확인할 수 있습니다.
이 기능은 향후 개발을 위해 아직 보류 중입니다.
주의: 이 기능은 등록된 게시물 상태를 관리자 패널에 추가하지 않습니다.이 기능은 향후 개발 중입니다.트랙티켓 #12706을 참고해주시기 바랍니다.이 매개 변수를 추가하기 위한 작업 후크 post_submitbox_misc_actions를 고려합니다.
현재 2014년 11월이며 여전히 사용자 지정 상태에 대한 문제입니다.원래 게시된 코드는 괜찮은 것 같습니다.사용자 지정 게시 상태를 구현할 때 발생하는 문제를 보여주는 동영상입니다.게시물 쿼리를 확인하고 사용자 지정 쿼리를 수행하는 등의 해결 방법이 있을 수 있지만 저는 조사를 시작하지 않았습니다.
제가 새로운 WTG Tasks Manager 플러그인을 작업하는 동안 해당 스크린캐스트가 진행되었습니다.저는 플러그인에 제 디자인을 그대로 둘 것이고 그것이 워드프레스의 이 분야의 개선을 촉진하는 데 도움이 되기를 바랍니다.
적절한 답변을 위해...사용자 지정 게시 유형에 대한 게시물 편집 화면에 사용자 지정 상태가 표시되므로 가능합니다.사용자 지정 게시물 유형 및 상태에 대한 플러그인 등록을 보려면 "posttype/tasks.php" 디렉토리로 이동하여 작동 예제를 가지고 재생합니다.여기 플러그인 공식 페이지가 있습니다.
https://wordpress.org/plugins/wtg-tasks-manager/
언급URL : https://stackoverflow.com/questions/20298346/custom-post-status-not-appearing
'source' 카테고리의 다른 글
Android Studio gradle을 구축하는 데 시간이 너무 오래 걸립니다. (0) | 2023.09.24 |
---|---|
php 없이 워드프레스 테마를 코딩하는 것이 가능합니까? (0) | 2023.09.24 |
줄의 마지막 글자를 얻는 방법은? (0) | 2023.09.24 |
Oracle에서 그룹화 기준과 파티션별로 그룹화 (0) | 2023.09.24 |
저장 프로시저 PLS-00201에서 Oracle nvl2가 작동하지 않음: 식별자 'NVL2'를 선언해야 합니다. (0) | 2023.09.24 |