通过创建自定义插件在wordpress页脚添加自定义代码的确切术语



现在我正在使用一个短代码函数add_shortcode在显示内容的wordpress网站。现在我想注入一个代码在页脚不修改主题或孩子他们,而是我将通过插件做到这一点。我只是不知道正确的功能名称在谷歌搜索。我总是使用add_shortcode,因为它会显示在所有页面上。这只是我自定义的一个弹出代码但是我必须把代码放在页脚

我真的不知道你在问什么?你需要知道如何实际编写插件吗?如果是这种情况,那么有很多教程涉及这个主题。与此相关的一些很好的资源:

  1. https://developer.wordpress.org/plugins/
  2. https://developer.wordpress.org/plugins/hooks/
  3. https://developer.wordpress.org/reference/hooks/wp_footer/

最好是检查现有插件的结构,例如:

https://wordpress.org/plugins/insert-headers-and-footers/开发人员请在每个页面的页脚添加一些内容,您可以这样做,该文件应该添加到wp-content/plugins目录下:

<?php
/**
* Plugin Name: Footer plugin
* Description: Adds text to footer
* Version: 1.0.0
* Requires at least: 3.0
* Tested up to: 6.0
* Author: Author
* Text Domain: footer-plugin
**/
class FooterPlugin
{
public function __construct()
{
// hook into wp_footer
add_action('wp_footer', [$this, 'addFooter']);
}
public function addFooter()
{
echo '<span>footer text</span>';
}
}
// initialize the plugin when everything is loaded
add_action('plugins_loaded', function () {
new FooterPlugin();
});

另一种方法是将页脚的内容从生成的页面输出中替换掉:

class FooterPlugin
{
/** @var string */
private $replacement = 'SOME TEXT';
public function __construct()
{
add_action('template_redirect', [$this, 'templateRedirect']);
}
/**
* @var string $content
**/
public function templateRedirect(string $content)
{
ob_start([$this, 'handleBuffer']);
}
/**
* Replace everything in the footer tag
* @param string $buffer
* @return string
**/
public function handleBuffer(string $buffer): string
{
return preg_replace('/(<footers*.*>)((.|n)*)(</footer>)/', '$1' . $this->replacement . '$3', $buffer);
}
}

相关内容

  • 没有找到相关文章

最新更新