![](/img/trans.png)
[英]What's the best way to figure out which javascript code that change specific html content in page
[英]What is the best way to hook wordpress plugin to a single page in order to render some html/javascript content?
我开发了一个WordPress插件,它可以呈现一些动态的html和javascript内容。 我想知道我应该如何修改它,以便它可以挂钩到我的wordpress应用程序中的单个页面。
我的想法是将插件函数绑定到自定义挂钩,并在页面上调用此挂钩,但是,我不知道如何从特定页面调用挂钩。 或者将它挂钩到你想要的页面部分,然后使用条件语句只渲染我是否是正确的页面? 这看起来很烦人,因为我希望能够在任何页面上使用我的插件而无需修改它。 有没有办法可以将所需的页面作为参数传递给它?
我正在寻找“最佳实践”解决方案,所以如果问题有点宽泛我会道歉。
如果这是一个公共插件,您将无法“烘焙”它应该显示的页面/帖子。
你要么需要:
1)添加某种选项页面。 有关更多信息,请查看选项页面文档
2)将Meta Box添加到您希望它应用于的帖子类型中,其中有一个选项,用于在帖子上设置元值。
根据提供的信息,我倾向于#2,然后您可以检查是否设置了元值,如果是,则显示您的插件的代码:
if( is_single() && get_post_meta( get_the_ID(), 'run_amin_hakem_plugin', true ) == true ){
// Do your thing
}
然后,您可以将上面的代码添加到适当的钩子中,例如wp_head
, wp_footer
,或者应该显示输出的位置。
有多个钩子可以帮助您渲染所需的html / js。 首先想到的是
wp_head
wp_footer
the_content
the_title
如果有侧边栏,您可以添加窗口小部件控件插件并在特定页面上显示窗口小部件。
如果您最终使用上述任何钩子或任何其他钩子,您可以使用以下之一进行条件检查:
is_page_template
\\假设您知道正在使用的自定义模板。 is_page
\\您需要知道页面ID / slug或标题 然后有许多检查将检查它是否正在加载single.php或任何分类法等。
这应该是基于帖子ID定位的一个很好的例子
add_action( 'the_content', 'my_override_function' );
function my_override_function($content) {
global $post;
if ($post->ID == 123) {
return 'Hello my friend<br>'.$content;
} else {
return $content;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.