如何在站点插件中使用自定义页脚模板?

时间:2017-10-21 作者:Backpacking Series

我有一个站点插件来集中大部分主题定制。我想覆盖默认的页脚。带有自定义页脚的php模板。php(删除WordPress提供的强大功能)存储在/plugins目录结构中。我发现this resource on StackExchange, one here, 并尝试了一些。显然,我在犯错误。有人可以建议如何在不涉及主题文件/目录的情况下实现这一点吗?

add_filter( \'theme_page_templates\', \'force_customization\', 101 );
function force_customization( $newtemplate ) {
       if ( is_singular( \'footer\' ) ) {
        $newtemplate = plugin_dir_path( __FILE__ ) . \'customization/customfooter.php\';
     }
     return $newtemplate;
}
欢迎任何/所有帮助。

亲切的问候

阿比吉特

2 个回复
SO网友:janh

您不能覆盖插件中的页眉/页脚模板,您必须更改主题。

theme_page_templates 可用于更改职位类型的常规模板page. 然后,该模板使用get\\u header()和get\\u footer(),这反过来又包括header.php / footer.php (可选页眉-$name.php,如果已将参数传递给get\\u header(),则get\\u footer()也是如此)。

SO网友:Prestosaurus

下面是我如何将自定义页眉和页脚添加到自定义插件的。

plugin.php:

function _get_header($name, $require_once = TRUE, $args = []) {
  return load_template(dirname(__FILE__) . "/includes/{$name}.php", $require_once, $args);
}

function _get_footer($name, $require_once = TRUE, $args = []) {
  return load_template(dirname(__FILE__) . "/includes/{$name}.php", $require_once, $args);
}
Create your templates:

  • /includes/my-header.php
  • /includes/my-footer.php
在模板文件中,例如。single-custom.php:

_get_header(\'my-header\'); //<- name of file without extension.
_get_footer(\'my-footer\'); //<- name of file without extension.
以下是WP的二十二个文件:

标题:https://github.com/WordPress/WordPress/blob/master/wp-content/themes/twentytwentyone/header.phphttps://github.com/WordPress/WordPress/blob/master/wp-content/themes/twentytwentyone/footer.php

结束

相关推荐

Single必须使用Plugins目录进行本地开发

我有多个本地安装的WordPress,并希望有一个单一的必须使用插件目录为我的所有本地网站。有什么我可以添加到wp配置,例如,让我有一个文件夹,可以用于我的所有网站?或者另一种方法?例如:/根/站点/站点1//根/站点/站点2//根/站点/站点3/。。。所有用途:/根/mu插件/谢谢