두 개의 사용자 정의 게시물 유형을 하나의 관리자 페이지로 병합 하시겠습니까?


9

4 가지 맞춤 게시물 유형으로 사이트를 구축하고 있습니다. 고객 / 관리자가 더 쉽게 작업 할 수 있도록 백엔드에서 이러한 사용자 지정 게시물 유형을 하나의 목록으로 병합 할 수있는 방법이 있는지 궁금합니다. 게시물의 목록과 열이있는 일반 백엔드 관리 페이지를 보면 쉽게 정렬 / 검색 할 수있는 다른 게시물 유형 3 개를 가져올 수 있습니까?

CPT를 하나로 결합 할 수 없으며 가능한 경우 관리 영역에서 하나의 '보기'페이지 외부에서 분리되어 있어야합니다.

이 작업을 수행하는 방법에 대한 의견이 있으십니까? 또는이 개발 방법을 어디에서 보거나 생각을 시작할 수 있습니까?


1
1 개의 CPT를 사용한 다음 단일 CPT에서 게시물을 분리하는 2 개의 용어로 맞춤 분류법을 만들 수 있습니다. 그런 다음 프런트 엔드 템플릿 파일 상단에서 논리를 수행하여 용어 / 세에 따라 방문자를 다른 템플릿으로 보낼 수 있습니다.
Sy Holloway

답변:


2

추가 개발 과정에서 문제가 발생하기 때문에 시작점 일뿐입니다. 예를 들어, 현재 문자열 (post_type)을 예상하고 배열을 수신하면 검색 기능이 중단됩니다.

게시물 화면에 둘 이상의 게시물 유형을 나열하기 pre_get_posts위해 쿼리에 연결하여 수정합니다. 이 테스트에서는 게시물, 페이지 및 제품이 게시물 화면 ( http://example.com/wp-admin/edit.php)에 함께 표시됩니다 .

add_action( 'pre_get_posts', 'join_cpt_list_wspe_113808' );

function join_cpt_list_wspe_113808( $query ) 
{
    // If not backend, bail out
    if( !is_admin() )
        return $query;

    // Detect current page and list of CPTs to be shown in Dashboard > Posts > Edit screen
    global $pagenow;
    $cpts = array( 'post', 'page', 'product' );

    if( 'edit.php' == $pagenow && ( get_query_var('post_type') && 'post' == get_query_var('post_type') ) )
        $query->set( 'post_type', $cpts );

    return $query;
}

각 게시물 게시물 유형과 함께 열을 표시하는 도우미 코드 :

add_filter( 'manage_edit-post_columns', 'add_cpt_column_wspe_113808' );
foreach( array( 'post', 'page', 'product' ) as $cpt )
    add_action( "manage_{$cpt}_posts_custom_column", 'show_cpt_column_wspe_113808', 10, 2 );

function add_cpt_column_wspe_113808( $columns ) 
{
    $columns[ 'cpt' ] = 'Post Type';
    return $columns;
}

function show_cpt_column_wspe_113808( $column_name, $post_id ) 
{
    if ( 'cpt' != $column_name )
        return;
    echo get_post_type( $post_id );
}

0

이를 위해 Admin Menu Editor pro를 권장합니다. 하단에 연결하겠습니다.

흥미 롭군 특정 프로젝트에서 몇 가지 CPT (사용자 지정 게시물 유형)가 관련되어있었습니다. 이 섹션은 '정보 센터'였으며 보도 자료, 백서, 회원 평가 등이 정보 센터 내에 포함되기를 원했습니다. 프론트 엔드에서 이것을 쉽게 만들 수있었습니다. 백엔드에서도 논리적으로 함께 맞기를 원했습니다. 대부분의 맞춤 게시물 유형은 특정 콘텐츠 (메타 제출) 및 레이아웃 요구 사항으로 인해 CPT로 설정되었습니다. 우리는 CPT가 20 명 가까이갔습니다.

즉, 관리자 편집기 플러그인을 사용하여 백엔드 메뉴에서 관련 정보 센터 CPT를 제거한 다음 관련 CPT 링크가 포함 된 '정보 센터'메뉴를 작성했습니다. 그들은 모두 결합 된 것처럼 보이지만 그렇지 않았습니다.

플러그인 링크는 다음과 같습니다. http://adminmenueditor.com/ 데모도 사용해보십시오.


"정보 센터"링크는 어떻게 작성 했습니까?
frnhr
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.