0

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

我已经放置了一个 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" ) ;

请帮忙

4

3 回答 3

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" ) ;
于 2012-06-16T01:05:39.683 回答
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

?>
于 2012-06-15T12:41:50.140 回答
0

终于搞定了......

我重新下载了wordpress并将我的代码更改为以下...

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

还要感谢 CMF 为我在 word press 问题上的安装指明了正确的方向。我通过 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 :)

于 2012-06-18T10:05:15.637 回答