반응형
*ALL* 워드프레스 카테고리에서 상위 카테고리 템플릿을 사용합니다.
기본 템플릿 계층 동작을 변경하고 자체 카테고리 템플릿 파일이 없는 모든 하위 카테고리 수준 페이지가 상위 카테고리 템플릿 파일을 참조하도록 합니다.제 다른 글에서는 리처드 M.이 개별 서브카테고리의 문제를 해결하는 훌륭한 답변을 했습니다.추상화 할 줄 아는 사람?
function myTemplateSelect()
{
if (is_category()) {
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');
잘 부탁드립니다.
/**
* Iterate up current category hierarchy until a template is found.
*
* @link http://stackoverflow.com/a/3120150/247223
*/
function so_3119961_load_cat_parent_template( $template ) {
if ( basename( $template ) === 'category.php' ) { // No custom template for this specific term, let's find it's parent
$term = get_queried_object();
while ( $term->parent ) {
$term = get_category( $term->parent );
if ( ! $term || is_wp_error( $term ) )
break; // No valid parent
if ( $_template = locate_template( "category-{$term->slug}.php" ) ) {
// Found ya! Let's override $template and get outta here
$template = $_template;
break;
}
}
}
return $template;
}
add_filter( 'category_template', 'so_3119961_load_cat_parent_template' );
그러면 템플릿이 즉시 발견될 때까지 부모 계층이 루프업됩니다.
어떻게 하면 가계의 분류학에서도 같은 일을 할 수 있을까 궁금했어요.Dead Medic의 답변은 이 경우에도 몇 가지 수정을 거치면 효과가 있는 것 같습니다.
function load_tax_parent_template() {
global $wp_query;
if (!$wp_query->is_tax)
return true; // saves a bit of nesting
// get current category object
$tax = $wp_query->get_queried_object();
// trace back the parent hierarchy and locate a template
while ($tax && !is_wp_error($tax)) {
$template = STYLESHEETPATH . "/taxonomy-{$tax->slug}.php";
if (file_exists($template)) {
load_template($template);
exit;
}
$tax = $tax->parent ? get_term($tax->parent, $tax->taxonomy) : false;
}
}
add_action('template_redirect', 'load_tax_parent_template');
TEMPLATEPATH 변수가 하위 테마에 대해 작동하지 않을 수 있습니다. 상위 테마 폴더를 찾습니다.대신 STYLESHEATPATH를 사용하십시오.
$template = STYLESHEETPATH . "/category-{$cat->slug}.php";
언급URL : https://stackoverflow.com/questions/3119961/make-all-wordpress-categories-use-their-parent-category-template
반응형
'programing' 카테고리의 다른 글
Keyclock에서 사용자 비밀번호를 변경하기 위한 API 호출이 있습니까? (0) | 2023.02.20 |
---|---|
새 Postgre 내의 필드를 수정하려면 어떻게 해야 합니까?SQL JSON 데이터형? (0) | 2023.02.20 |
__()와 esc_html_e를 사용하는 경우 (0) | 2023.02.20 |
Oracle SQL Developer에서 버퍼 크기를 늘려 모든 레코드를 표시하는 방법은 무엇입니까? (0) | 2023.02.20 |
map() React 내부 조건 (0) | 2023.02.20 |