dongwen1871 2016-07-27 18:59
浏览 70

使用functions.php定位特定的wordpress页面模板

I'm trying to target a specific page template, the single.php file with the below function to either deactivate wpautop on the content or the excerpt depending on if the page template is single.php - though I'm not getting it to work:

function rem_filter() {
    if (is_page_template('single.php')) 
    {
        remove_filter( 'the_content', 'wpautop' ); 
    } else {
        remove_filter( 'the_excerpt', 'wpautop' );
    }
}
add_action ('wp_enqueue_scripts', 'rem_filter');

All help would be appreciated. I found this in the forum before asking the question:

Wordpress use functions.php to run function only on specific page template

thanks!

/k

  • 写回答

1条回答 默认 最新

  • dongtun1683 2016-07-27 19:43
    关注

    I think this would be what you are looking for:

    remove_filter( 'the_content', 'wpautop' );
    remove_filter( 'the_excerpt', 'wpautop' );
    
    //decide when you want to apply the auto paragraph
    
    add_filter( 'the_content', 'my_custom_content' );
    function my_custom_content( $content ){
        if( is_page_template( 'single.php' ) ){ 
            return $content; //no autop
        }else{
            return wpautop($content);
        }
    }
    
    add_filter( 'the_excerpt', 'my_custom_excerpt' );
    function my_custom_excerpt( $content ){
        if( is_page_template( 'single.php' ) ){ 
            return $content; //no autop
        }else{
            return wpautop($content);
        }
    }
    
    评论

报告相同问题?