无法找到do_action("此功能")导致wordpress主题的位置

时间:2018-02-03 00:37:14

标签: php wordpress

我在index.php文件中有这个。它在WordPress中添加了主页横幅图像。我知道它主要是在WordPress定制器中生成的,但我需要在本节中添加一个锚标记。我无法在文件结构中的任何位置找到它。

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

我无法找到cleanblog_index_top导致的位置。任何帮助都会很棒。谢谢!

2 个答案:

答案 0 :(得分:0)

你永远不应该直接编辑index.php文件,因为你永远不应该直接编辑核心Wordpress文件 - 下次WP推送更新时,你的更改将被覆盖(假设你没有破坏任何东西) )。永远不要直接编辑插件文件,原因相同。

你需要查看你的主题,你应该只更改你主题中的functions.php和style.css文件 - 除非你创建一个子主题,这是你应该谷歌的主题。

答案 1 :(得分:0)

我在查找 do_action() 的文档时偶然发现了这个旧的。答案很残酷,所以我决定提供一个更好的答案,以防其他人在这里绊倒。

如果 WordPress 主题在模板文件之一(例如 do_action( 'example_action_hook_tag' )index.php 或其他)中的某处具有类似 page.php 的内容,则目的是为主题或插件作者提供编写自己的自定义函数的方法,然后他们可以使用函数 add_action() 将其“挂钩”到操作上。

然后 WordPress 会随时随地在调用 do_action( 'example_action_hook_tag' ) 时调用此函数。

商业主题的创建者通常会用 do_action() 声明的钩子散布他们的模板文件,以使他们的客户更容易通过 functions.php 或编写特定于站点的插件来自定义他们的主题。< /p>

在我看来,这是影响 OP 的可能情况。这也解释了为什么 OP 未能成功找到“导致”的位置。

如果 OP 在主题/子主题 functions.php 或插件中编写一个函数并添加行 do_action( 'cleanblog_index_top', 'name_of_ops_function' ) 以将其函数挂接到 上,它只会“引导某个地方” cleanblog_index_top。 WordPress 会在 do_action( 'cleanblog_index_top' ) 中调用 index.php 时调用它们的函数。

从 OP 的钩子名称 cleanblog_index_top 来看,主题作者似乎打算为其他人提供一种在索引页面模板顶部注入输出的方法。

假设 OP 希望 <h1>Hello World</h1> 出现在那里。

在主题/子主题的 functions.php 中,OP 可以添加一个函数来回显:

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

并将它们的函数挂接到cleanblog_index_top

add_action( 'cleanblog_index_top', 'op_customization' );

干杯!