警告,是否使用未定义的常量Plugin_Path?

时间:2019-08-02 作者:Alt C

我的错误日志中有一条警告

使用未定义的常量PLUGIN\\u PATH-假定为“PLUGIN\\u PATH”(这将在PHP的未来版本中引发错误)

当我在google上搜索时,我找不到答案,但似乎很多网站都公开显示了这个警告?

add_filter(\'single_template\', \'my_custom_template\');

function my_custom_template($single) {

    global $post;

    /* Checks for single template by post type */
    if ( $post->post_type == \'POST TYPE NAME\' ) {
        if ( file_exists( PLUGIN_PATH . \'/Custom_File.php\' ) ) {
            return PLUGIN_PATH . \'/Custom_File.php\';
        }
    }

    return $single;

}
这是我使用的代码:Custom Post Type Templates from Plugin Folder?

有什么办法吗?

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

错误是不言而喻的:PLUGIN_PATH 未在任何位置定义。

它不是WordPress的默认常量之一(已列出here, 一切都从WP_). 在您复制的代码的上下文中,很明显,它要么应该被替换为插件的路径(在这种情况下,在示例代码中使用常量是个坏主意),要么曾经存在过(答案是8年前的)。这在您自己的链接上的评论中提到。

要获取插件文件的路径(至少现在是这样),您需要使用plugin_dir_path():

if ( file_exists( plugin_dir_path( __FILE__ ) . \'Custom_File.php\' ) ) {
    return plugin_dir_path( __FILE__ ) . \'Custom_File.php\';
}
要知道plugin_dir_path( __FILE__ ) 返回当前文件的路径,因此如果包含此代码的文件位于插件的子文件夹中,则需要对此进行说明。

相关推荐

Custom term templates

所以,我在网上做了一些研究,但没有找到可靠的答案,所以我来了。我需要为特定类别创建自定义woocommerce类别页面。例如,我有一个类别叫做“Awesome”。而不是使用由短代码生成的常规类别页面[product_category category=\"something\"], 我想为自定义特定类别页面Awesome.我发现我需要编辑taxonomy-product_cat.php 但我不知道如何将其链接到名为awesome.换句话说,我正在考虑制作php文件的自定义副本,然后将其添加为主题templ