我遇到此脚本的问题,该脚本应在查看自定义帖子页面时加载自定义模板。
我放置一个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" ) ;
请帮忙
答案 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:)