![](/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.