自定义帖子页面模板

时间:2012-06-15 11:46:22

标签: php wordpress

我遇到此脚本的问题,该脚本应在查看自定义帖子页面时加载自定义模板。

我放置一个echo命令以确保url是正确的,但我甚至没有回显url。

function da_custom_post_type_template($single_template) {
     global $post;

     if ($post->post_type == 'include') {

          $single_template = PLUGIN_PATH. 'template/custom_template.php';
     }
     echo $single_template;
     return $single_template;
}
add_filter( "single_template", "da_custom_post_type_template" ) ;

请帮忙

3 个答案:

答案 0 :(得分:1)

把它放到single.php中:

<?php
      global $wp_query;

      $post = $wp_query->post;
      $post_type = get_query_var('post_type');

      if($post_type == 'include'){
        include(TEMPLATEPATH.'/my_post_template.php');
      }else{
        include(TEMPLATEPATH.'/default_post_template.php');
      }#end else

?>

答案 1 :(得分:1)

实际上,您仍然可以过滤单个模板。它仍然存在于wp-includes/template.php上。

我看不出你的功能有什么问题。您确定模板文件是否存在?

编辑:

试试这个:

function da_custom_post_type_template( $template ) {
    global $post;

    if ($post->post_type == 'include') {
        $template = dirnamr( __FILE__ ) . '/template/custom_template.php';
    }
    return locate_template( $template );
}
add_filter( "single_template", "da_custom_post_type_template" ) ;

答案 2 :(得分:0)

终于做到了....

我下载了wordpress并将我的代码更改为以下内容......

gobal $ post似乎没有任何设置,所以我使用$ wp_query代替。感谢CroiOS指出这一点。

还要感谢CMF让我在单词印刷问题上安装正确的方向。我通过SSH安装WP,所以我想知道我是否下载了夜间版本或类似的内容..

function da_custom_post_type_template( $template ) {
    global $wp_query;
    if ($wp_query->post->post_type == 'include') {
      $template = PLUGIN_PATH . '/template/custom_template.php';
    }
    return $template ;
}
add_filter( "archive_template", "da_custom_post_type_template" ) ;

由于某种原因,它的类作为archive_template:)