WordPress крюк в тело страницы

Я работаю над плагином, который будет использоваться для добавления настраиваемой формы планирования остроты для конкретной страницы. Я хочу добавить форму планирования после меню и заголовка страницы на одной конкретной странице. Вот мой текущий код:

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>';

}

«Добавить в остроту» — это пользовательский крюк действия, который в настоящее время добавлен в заголовок.php файл темы, которую я использую. Он добавляет расписание в самой верхней части страницы в настоящее время, так что я могу, по крайней мере, получить его на нужной странице, но он расположен над меню и заголовком страницы. Я работаю над созданием пользовательского макета и использованием PHP-кода для изменения страницы в зависимости от выбора пользователя, поэтому я не просто использую простой код вставки.

Я новичок в WordPress плагины и крючки, поэтому я не уверен, если я должен использовать действие или фильтр крюк для этого. Любая помощь была бы очень признательна.

2 ответа

  1. Чтобы добавить код непосредственно перед содержимым, которое находится под заголовком страницы, используйте следующий код:

    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');
    

    Надеюсь, это поможет.

  2. WordPress action hooks — это средство предоставления другим разработчикам возможности вставлять свой собственный код в определенные места в вашем коде, чтобы изменить или расширить функциональность вашего кода.
    Поэтому в этом случае вы должны использовать крюк действия.

    Понятие фильтров и крючков объясняется в этой статье .

    Таким образом, разместив функцию add_action в шаблоне после меню и заголовка страницы, вы можете закрепить ее с помощью функции.

    В шаблоне страницы после меню и заголовка страницы:

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

    В ваших функциях.РНР:

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