我在一个自定义帖子类型的网站上工作,在儿童主题的functions.php
文件中有所描述。
我创建了一个函数,仍然在函数文件中,它描述了这个自定义内容的页面的行为:基本上,为了实现这一点,我在一个名为的函数中使用get_the_terms()
和get_post_meta()
add_thecontent()
。它使用过滤器调用:add_filter('the_content','add_thecontent');
它工作正常:我可以检索名称,自定义分类,几个字段等。
我还在另一个网站上工作,仍然使用不同主题的自定义帖子类型(另一个)。我使用与上述相同的机制(子主题+函数文件+在过滤器中调用的内容)但是当我想显示我的自定义帖子的预览时,引擎调用主题的文件content-single.php
。此文件会调用the_category()
,这会在我的页面中出现警告,因为我没有#34;常规"我的自定义帖子的类别,只有自定义分类。
我试图在我的孩子主题中添加一个content-single.php
以重新定义它的行为,但我得到了错误。而且我认为这不是一个正确的方法。
我想要的是强制WP引擎显示我在functions.php中定义的自定义帖子。我怎样才能做到这一点?谢谢,抱歉我的英文
答案 0 :(得分:0)
我建议您使用Which Template Plugin进行安装和调试,一旦安装完毕,就可以知道调用哪个文件来解析自定义帖子。
另外,请查看worpdress层次结构页面here
如果您创建了自定义帖子,则可以将该自定义帖子的单个页面创建为single- $ posttype.php,您就可以控制该文件的流程。
祝你好运!答案 1 :(得分:0)
解决。在父主题中,content-single.php
包含以下代码:
<span class="cat-name"><?php $category = get_the_category(); echo $category[0]->cat_name; ?></span>
所以我在我的孩子主题中创建了一个content-single.php
,我对帖子的类型进行了测试。如果帖子不是我创建的自定义帖子,则通常显示其类别。否则,什么都不做,因为我自己处理分类法。
<?php if($post->post_type != 'myCustomPost') {;?>
<span class="cat-name"><?php $category = get_the_category(); echo $category[0]->cat_name; ?></span>
<?php } ?>