Wordpress钩入页面正文

时间:2016-12-30 07:12:30

标签: wordpress

我正在开发一个插件,用于为特定页面添加自定义形式的Acuity Scheduling。我想在一个特定页面上的菜单和页面标题之后添加调度表单。这是我目前的代码:

add_action( 'template_redirect', 'check_if_acuity_page');

function check_if_acuity_page(){
    if(is_page('Schedule Page')){
    add_action( 'add to acuity', 'display_acuity_scheduling_api');
    }

}

function display_acuity_scheduling_api(){
    echo '<div style="margin-top: 25px;">"Code to add Acuity Schedule to page"</div>';

}

'add to acuity'是一个自定义操作挂钩,目前已添加到我正在使用的主题的header.php文件中。它在当前页面的最顶部添加了日程安排,因此我至少可以在正确的页面上获取它,但它位于页面的菜单和标题上方。我正在创建一个自定义布局,并使用PHP代码根据用户选择的内容修改页面,这就是为什么我不只是使用简单的嵌入代码。

我是Wordpress Plugins和Hooks的新手,所以我不确定我是否应该使用动作或过滤器钩子。任何帮助都将非常感激。

2 个答案:

答案 0 :(得分:0)

要在代码之前的内容之前添加代码,请使用以下代码:

function check_if_acuity_page(){
    if(is_page('Schedule Page')){
    echo '<div style="margin-top: 25px;">"Code to add Acuity Schedule to page"</div>';}
}
function add_code_before_content($content){
    $acuity_page = check_if_acuity_page();
    $content = $acuity_page.$content;
    return $content;
}
add_filter('the_content','add_code_before_content');

希望这有帮助。

答案 1 :(得分:0)

WordPress操作挂钩是一种为其他开发人员提供一种在代码中的特定位置插入自己的代码的方法,以便更改或扩展代码的功能。
所以在这种情况下你应该使用一个动作钩子。

过滤器和钩子的概念在this article中进行了解释。

因此,在菜单和页面标题之后将add_action函数放在模板中,您可以使用函数挂钩它。

在菜单和页面标题后的页面模板中:

add_action( 'add to acuity', 'check_if_acuity_page');

在你的functions.php中:

function check_if_acuity_page() {
  if(is_page('Schedule Page')) {
    echo '<div style="margin-top: 25px;">"Code to add Acuity Schedule to page"</div>';
  }
}