为什么我无法在我的 Wordpress 单个自定义帖子类型模板中访问 $post 数据?

我的 Wordpress 插件开发遇到了一个非常奇怪的问题:

我制作了一个完美运行的自定义帖子类型。 我实际上必须在插件上定义我的 single.php 模板以提出一个现成的公共页面。

我找到了“single_template”过滤器,它允许我定义自己的模板并覆盖自定义帖子类型的默认模板。

它实际上运行良好,我可以开始集成。

我的问题是我无法访问此模板中的 POST 对象/数据,我在网上没有找到很多类似的案例,如果您能帮助解决此问题,我将不胜感激。

这是我的代码的一些部分:

过滤以定义我自己的单页模板

function get_teams_single_template( $single_template ) {
    global $post;

    if ( $post->post_type == 'mt_teams' ) {
        $single_template = cdev_mt_directory . 'templates/teams/single-mt_teams.php';
    }

    return $single_template;
}
add_filter( 'single_template','get_teams_single_template' );

我尝试获取帖子的方式 => $post return null

<?php     
    include_once '../../../../../wp-load.php';
    get_header();
    global $post;
    var_dump($post);
    die();

如果我尝试使用 wp 函数 get_post(),它也会返回 null..

非常感谢

xy328545073 回答:为什么我无法在我的 Wordpress 单个自定义帖子类型模板中访问 $post 数据?

我通过替换定义插件路径的全局变量解决了我的问题。

我使用了 plugin_dir_url 方法 并且有一个 url 包含错误,所以我用 plugin_dir_path 替换了这个方法,它解决了我所有的冲突。

本文链接:https://www.f2er.com/42782.html

大家都在问