插件可以添加到页眉/页脚/正文内容吗?

时间:2015-01-06 作者:niczak

我刚刚完成了我的第一个WordPress插件,我想做的最后一件事是获取插件知道的一段数据(来自wp\\U选项表),并将其显示在网站的页眉或页脚中。它只是一个带有6个字符代码的小样式div。

首先,这可能吗?插件是否能够修改用户主题?

如果这是可能的,那么在执行此操作时需要记住哪些最佳做法和/或“gotcha”?显然,所有的主题都非常不同,所以我想以最通用、最不显眼的方式来处理这个问题。

如果一个插件不能做到这一点,我不得不想象,当内容呈现时,它可以在某处编写HTML,那么处理这类事情的最佳实践是什么?

这是我第一篇没有任何代码的堆栈交换帖子,但由于这是一个一般性的问题,而不是特定于任何特定方法,我觉得它仍然是合适的。

谢谢

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

Hooks 将成为你在这里最好的朋友。

您可以使用the_content 过滤器,例如:

add_filter(\'the_content\', \'wse_174099_append_to_content\');

function wse_174099_append_to_content( $content ) {
    //get your data
    $custom_items = get_option( \'option_name\' );

    $content .= wpautop( $custom_items );

   //always return when using a filter
    return $content;
}
您可以通过挂接到wp_footer 措施:

add_action(\'wp_footer\', \'your_function\');
function your_function() {
    $custom_items = get_option( \'option_name\' );
    echo $custom_items;
}
你也可以看看get_headerget_footer 行动。唯一的问题是,您无法控制主题在何处调用页眉和页脚文件-这可能是输出代码的一个不利位置。

希望这有帮助!

结束

相关推荐

Multisite and plugins options

我需要更多关于get_site_option(), update_site_option() 和add_site_option().在codex中,他们说它与单次安装相同,只是在多站点中,它返回网络范围的选项。好吧,但我对这一点感到困惑:这是否意味着一旦设置了网络范围选项,所有站点的选项都是相同的?还是每个站点都会覆盖它?我的意思是如果我这样做: update_site_option(\'option_group\', \'default_options());// default_options() r