IT

관리 페이지에서 페이지에 사용되는 Wordpress 템플릿 확인

itgroup 2023. 2. 10. 21:45
반응형

관리 페이지에서 페이지에 사용되는 Wordpress 템플릿 확인

대시보드의 '페이지 편집' 페이지에 사용된 템플릿의 파일 이름/경로를 검색하려고 합니다.

무엇과 유사하다wp-includes/template-loader.php(source)는 프론트 엔드에서 작업을 수행합니다. 렌더링할 템플릿을 찾습니다.

아쉽게도 이런 표현들이is_front_page()- Word press 'template-loader.php를 사용해, 이 기능을 사용할 필요가 있는지 아닌지를 확인합니다.get_front_page_template()- 관리 페이지에서 올바르게 작동하지 않습니다.이러한 표현식은 현재 쿼리가 아닌 글로벌 $wp_query 개체를 사용하기 때문에 예상할 수 있습니다.

내가 지금까지 시도한 것:

관리 페이지 내에서 포스트 루프 실행

$args = array(
    'p' => get_the_ID(),
    'post_type' => 'any'
);

$query = new \WP_Query($args);

if ( $query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post(); ?>

    <?= the_title(); ?><br>
    Is front page: <?= is_front_page() ? 'true' : 'false' ?>

<?php endwhile; endif; ?>

디스플레이:

집입니다

첫 페이지: false

get_post_meta 사용

<?= get_post_meta(get_the_ID(), '_wp_page_template', true); ?>

디스플레이:

체납

1면 기사도 마찬가지일 겁니다php를 클릭합니다.php는 다른 기본 페이지에 표시되므로 도움이 되지 않습니다.

요컨대

제가 받으려는 건front-page.php제가 '홈' 페이지를 편집할 때요.또는custom-template.php사용자 지정 템플릿을 선택한 상태에서 페이지를 편집할 때 사용합니다.또는about-page.php'버전 정보'라는 페이지를 편집할 때 사용합니다.올바른 파일 이름 또는 경로를 얻는 방법

홈 페이지에 문제가 있는 경우는, 다음의 편성을 사용할 수 있습니다.get_page_template()편집된 페이지의 ID와 비교get_option('page_on_front')(WordPress 옵션 참조 참조).다른 방법도 있어요show_on_front는, 선두 페이지에 투고가 표시되는지, 정적 페이지가 표시되는지를 나타냅니다.

이게 도움이 될까?다른 템플릿을 사용하는 엣지 케이스가 있는지...

사용방법:

<?php echo realpath(get_page_template()); ?> 

출력은 다음과 같습니다./foo/bar/baz/wp-content/themes/your-theme/{page-template}.php

사용하지 않을 수 있습니다.realpath()템플릿 이름만 가져옵니다.

내가 찾은 유일한 해결책은 다음과 같다.

global $template;
echo basename($template); // front-page.php

못생긴 건 알지만, 이 글로벌 변수를 사용하지 않을 방법을 찾을 수가 없었어요.

언급URL : https://stackoverflow.com/questions/45965531/finding-out-which-wordpress-template-is-used-for-a-page-from-admin-page

반응형