首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >钩子覆盖标题、图像和内容

钩子覆盖标题、图像和内容
EN

WordPress Development用户
提问于 2020-04-12 17:36:23
回答 1查看 273关注 0票数 1

我正在用插件创建一个定制的post类型,我想显示我的cpt标题/缩略图/内容.使用钩子(假设它比加载自定义模板更好)。

但是主题用他们的single.php模板显示标题/缩略图/内容.那么,是否有一个钩子可以用来覆盖所有这些,还是需要使用2个钩子来删除标题/图像,第三个钩子用我的cpt内容覆盖内容?

我还计划在cpt中添加自定义元字段。

你会怎么做?

EN

回答 1

WordPress Development用户

回答已采纳

发布于 2020-04-13 21:33:59

如果您正确地创建了您的cpt,并且只希望它像任何其他帖子一样显示,那么您就没有什么需要做的了。WordPress将使用主题中的single.php,并将您的post类型的单个版本显示为普通的post。

如果要添加额外的元,可以使用函数和筛选器来完成。例如,要在内容之后添加元内容,如下所示:

代码语言:javascript
复制
function rt_before_after($content) {
    if(is_singular('your_post_type')) {
        $beforecontent = '',  //what you want before ie meta
        $aftercontent = '', //what you want after  ie custom meta
        $fullcontent = $beforecontent . $content . $aftercontent;
        return $fullcontent;

    } else {
        return $content;
    }
}
add_filter('the_content', 'rt_before_after');

如果您试图自定义您的CPT的显示,这将是有点困难。

每个主题都要用自己的钩子..。如果他们真的用的话。你在玩一个猜测游戏,看他们对每个主题可能做什么,或者不做什么。似乎更容易确保他们使用您的数据与模板。下面是我使用的内容:(您需要修改代码以适应您的CPT名称和模板位置)

代码语言:javascript
复制
function rt_load_custom_template( $template ) {

if ( is_singular( 'your_post_type' ) ) {
    $template = plugins_url( 'templates/your_post_type.php', __FILE__ );
}

add_filter( 'single_template', 'rt_load_custom_template', 50, 1 );
    return $template;
}
票数 1
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/363884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档