programing

워드프레스 기능에 코드를 적용하는 것.단 하나의 카테고리로 php.

iphone6s 2023. 9. 14. 21:51
반응형

워드프레스 기능에 코드를 적용하는 것.단 하나의 카테고리로 php.

내 기능에 추가한 아래의 코드를 제한할 수 있는 방법이 있을까요.단 하나의 워드프레스 카테고리에만 적용되는 php 파일?

<?php remove_filter('the_content', 'wpautop'); ?>

이것을 시도해 보았지만 효과가 없었던 것 같습니다.

<?php if (in_category('work')) { remove_filter('the_content', 'wpautop'); } ?>

또한 특정 카테고리 템플릿에 코드를 직접 배치하여 이 문제를 해결했다고 덧붙여야겠지만, 필터를 내 함수 파일에 보관하고 싶습니다.

감사합니다!

당신이 당신과 연결하고 싶어 할 것이라고 믿습니다.pre_get_posts action. 쿼리 문자열을 구문 분석한 후 바로 실행됩니다.일부 조건이 설정되어 있지만 모든 조건이 설정되어 있지는 않습니다.in_category()가 그 중 하나인지 테스트할 수 있습니다만, 저는 상관없다고 생각합니다. 왜요? 물어봐주셔서 감사합니다.

후크가 속성을 가진 쿼리 개체를 전달합니다.category_name. 당신은 그것이 당신의 카테고리를 가지고 있는지 확인하고 만일 그렇다면 당신의 필터를 발사하기만 하면 됩니다.이와 같은 것:

function ns_function_name($wpq){
    if($wpq->category_name == 'work'){
        remove_filter('the_content', 'wpautop');
    }
}
add_action( 'pre_get_posts', 'ns_function_name' );

이것은 전혀 검증되지 않았습니다.하지만 여러분이 무엇을 하고 있는지 알고 있는 것 같기 때문에, 여러분을 올바른 길로 인도하기에 충분할 것입니다.

당신의 기능.php는 당신의 인덱스와 카테고리 페이지와 같이 현재 요청을 인지하지 못합니다.functions.php에서 이 코드가 작동하도록 하려면 원시 서버 vars를 잡고 이를 구문 분석하여 현재 url과 관련된 wp_query 기능을 로드해야 합니다.

$url = explode('?', 'http://'.$_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]);
$ID = url_to_postid($url[0]);

해당 ID를 가지고 있으면 쿼리 루프를 수행하고 카테고리에 따라 필터를 트리거할 수 있습니다.

언급URL : https://stackoverflow.com/questions/6728067/applying-code-in-wordpress-functions-php-to-only-one-category

반응형