source

Wordpress 하위 카테고리에 카테고리 템플릿 사용

manysource 2023. 3. 1. 11:18

Wordpress 하위 카테고리에 카테고리 템플릿 사용

카테고리 템플릿이 있습니다.카테고리 프로젝트입니다php

이 범주에는 하위 범주가 있지만 상위 범주가 아닌 템플릿 범주.php를 참조합니다.서브카테고리가 부모 카테고리템플릿을 참조의 캐스케이드 순서로 참조하려면 어떻게 해야 합니까?

*주의: 카테고리 레벨의 URL을 말하는 것이지 투고가 아닙니다.

이를 위한 한 가지 방법은 자신의 액션에 접속하는 것입니다.functions.php파일:

function myTemplateSelect() {
    if (is_category() && !is_feed()) {
        if (is_category(get_cat_id('projects')) || cat_is_ancestor_of(get_cat_id('projects'), get_query_var('cat'))) {
            load_template(TEMPLATEPATH . '/category-projects.php');
            exit;
        }
    }
}

add_action('template_redirect', 'myTemplateSelect');

Richard의 답변은 효과가 있지만 다른 플러그인에 큰 방해가 됩니다.

다른 방법을 찾았습니다.add_filter&template_include아래 예시와 같이

add_filter( 'template_include', 'my_callback' );

function my_callback( $original_template ) {
    if ( some_condition() ) {
        return SOME_PATH . '/some-custom-file.php';
    } else {
        return $original_template;
    }
}

크레딧은 https://markjaquith.wordpress.com/2014/02/19/template_redirect-is-not-for-loading-templates/ 입니다.

내가 알기로는 wp 템플릿 계층에 따르면 category-samplecat.php는 samplecat이라는 슬러그 이름의 카테고리에만 적용됩니다.그래서 이런 식으로 하는 것은 불가능합니다.

그러나 category.php 파일(특수한 템플릿파일이 없는 모든 카테고리에 적용됨)에서는 현재 카테고리가 "project"의 하위 카테고리인지(다른 질문에 대한 답변에서 이 방법을 사용), 그리고 만약 그렇다면 카테고리 프로젝트의 동일한 구조를 적용할 수 있는지 여부를 조건적으로 확인할 수 있습니다.php 또는 category-syslog.include를 포함합니다.

언급URL : https://stackoverflow.com/questions/3114934/make-wordpress-subcategories-use-category-template