簡體   English   中英

在 wordpress 主題中找不到 do_action(“This function”) 導致的位置

[英]Can't find where the do_action(“This function”) leads to in wordpress theme

我的index.php文件中有這個。 它在 WordPress 中添加了主頁橫幅圖像。 我知道它主要是在WordPress定制器中生成的,但我需要在本節中添加一個錨標記。 我在文件結構中的任何地方都找不到它。

<?php do_action('cleanblog_index_top'); ?>

我無法找到cleanblog_index_top通向何處。 任何幫助都會很棒。 謝謝!

您永遠不應該直接編輯 index.php 文件,出於同樣的原因,您永遠不應該直接編輯核心 Wordpress 文件 - 下次 WP 推送更新時,您的更改將被覆蓋(假設您沒有破壞任何內容)。 永遠不要直接編輯插件文件,同樣的原因。

您需要查看您的主題,您應該只對主題中的 functions.php 和 style.css 文件進行更改 - 除非您創建子主題並且這是您應該使用 Google 的主題。

我在查找do_action()的文檔時偶然發現了這個舊的。 答案是殘酷的,所以我決定提供一個更好的答案,以防其他人在這里絆倒。

如果 WordPress 主題在其中一個模板文件(例如index.phppage.php或其他)中有類似do_action( 'example_action_hook_tag' ) ,則目的是為主題或插件作者提供一種編寫自己自定義的方法然后他們可以使用函數add_action()將其“掛鈎”到動作上。

然后 WordPress 會隨時隨地調用此函數do_action( 'example_action_hook_tag' )被調用。

商業主題的創建者通常會用do_action()聲明的鈎子do_action()他們的模板文件,以使他們的客戶更容易通過functions.php或編寫特定於站點的插件來自定義他們的主題。

在我看來,這是影響 OP 的可能情況。 這也解釋了為什么 OP 未能成功找到“導致”的位置。

如果 OP 在 theme/child-theme functions.php或插件中編寫了一個函數並添加了do_action( 'cleanblog_index_top', 'name_of_ops_function' )以將它們的函數掛接到cleanblog_index_top上,它只會“引導某個地方”。 當在index.php調用do_action( 'cleanblog_index_top' )時,WordPress 會調用它們的函數。

從 OP 的鈎子名稱cleanblog_index_top ,主題作者打算為其他人提供一種在索引頁面模板頂部注入輸出的方法。

假設 OP 希望<h1>Hello World</h1>出現在那里。

functions.php主題/子主題的OP可以添加一個功能,Echo的這一點:

function op_customization() {
  echo '<h1>Hello World</h1>';
}

並將它們的函數掛接到cleanblog_index_top 上

add_action( 'cleanblog_index_top', 'op_customization' );

干杯!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM