如果要替换主题主页,则不能使用wp_head
钩子:它是从主题文件(通常是header.php)调用的,所以您不能替换已经包含的内容。
我建议您创建一个包含自定义主页的php文件,并将其放在插件文件夹中。此文件,例如“my\\u custom\\u home\\u page”。php’必须为页面创建整个html。
你不能像这样使用函数get_header
或get_footer
因为这个函数包含主题模板文件。。。
下面的代码只是一个起点。使用它,插件文件“my\\u custom\\u home\\u page”。当需要首页时,会包含“php”。
之后return
您必须放置自定义主页文件的完整路径。如果代码位于主插件文件和“my\\u custom\\u home\\u”页面中,则我使用的代码可以正常工作。php’位于同一文件夹中。如果您有不同的文件夹结构或代码在其他地方,请根据它更改路径。
add_filter( \'template_include\', \'my_replace_home_page\' );
function my_replace_home_page( $template ) {
if ( is_front_page() ) {
return plugin_dir_path( __FILE__ ) . \'my_custom_home_page.php\';
}
return $template;
}