使用插件创建模板“Author”

时间:2014-07-26 作者:Erfo

我正在创建一个插件,将用户配置文件修改为wp面板。我想添加一个具有相同插件的作者模板。

我不知道是否有文件作者。php进入主题目录。所以我想创建一个文件作者。php(如果author.php不存在)或修改它(如果author.php存在)。所有这些都是通过插件实现的。

我该怎么办?

1 个回复
SO网友:helgatheviking

您可以重复WooCommerce和其他插件如何在其插件中提供模板,同时允许主题覆盖它们(如果存在)。

基本上,你可以template_include 函数,WordPress在该函数中决定为给定查询加载哪个模板。

因为你想和作者做点什么。php模板,您需要测试is_author() 条件标记。现在是作者。php在主题中非常常见,因此如果您想将其转换为自定义内容,我可能会将模板重命名为其他内容。

add_filter( \'template_include\', \'wpa_155871_template_loader\' );

function wpa_155871_template_loader( $template ) {

    $file = \'\';

    if ( is_author() ) {
        $file   = \'custom-author.php\'; // the name of your custom template
        $find[] = $file;
        $find[] = \'plugin-name/\' . $file; // name of folder it could be in, in user\'s theme
    } 

    if ( $file ) {
        $template       = locate_template( array_unique( $find ) );
        if ( ! $template ) { 
            // if not found in theme, will use your plugin version
            $template = untrailingslashit( plugin_dir_path( __FILE__ ) ) . \'/templates/\' . $file;
        }
    }

    return $template;
}
未经测试,因此您的里程数可能会有所不同,并且可能存在拼写错误。

结束

相关推荐

How can I find plugins' slug?

我想知道如何才能找到插件的slug(slug=WordPress用来更新插件和确定哪些插件当前处于活动状态的内部名称)?它通常是插件的文件夹名,但如果插件没有文件夹,则是其文件名(如hello.php)。是否有其他例外情况?大小写字符重要吗</插件的slug是否可以与其文件夹名不同?如果有一个叫做hello的插件呢。php和另一个/您好。php/您好。php