Добавить автоматическую контактную форму 7 в сообщения

#wordpress #contact-form-7

#wordpress #контактная форма-7

Вопрос:

Я хотел бы автоматически вставлять форму только в сообщения с категорией событий

 function contactform_for_every_post( $content ) {
  if ( is_singular('post') ) {
    $contactform = '[contact-form-7 id="109" title="Contact form 1"]';
    echo '<h3>Ich habe Interesse an Tobias</h3>';
    echo do_shortcode($contactform);
  }
}

add_action('x_before_the_content_end', 'contactform_for_every_post');
  

Ответ №1:

Вы можете проверить, относится ли сообщение к какой-либо заданной категории с помощью

 in_category('catgory_name|id|array of categories')
  

Так что это может быть решением для копирования и вставки

 function contactform_for_every_post( $content ) {
  if ( in_category('Events') ) {
    $contactform = '[contact-form-7 id="109" title="Contact form 1"]';
    echo '<h3>Ich habe Interesse an Tobias</h3>';
    echo do_shortcode($contactform);
  }
}

add_action('x_before_the_content_end', 'contactform_for_every_post');  

Вы можете проверить https://developer.wordpress.org/reference/functions/in_category // для получения дополнительной информации об этой функции

Ответ №2:

Я полагаю, что вы используете неправильный хук x_before_the_content_end. Попробуйте вызвать the_content с предыдущей подсказкой (@kev.proxbit):

 function contactform_for_every_post( $content ) {
  if ( in_category('Events') ) {
    $contactform = '[contact-form-7 id="109" title="Contact form 1"]';
    echo '<h3>Ich habe Interesse an Tobias</h3>';
    echo do_shortcode($contactform);
  }
}
add_action('the_content', 'contactform_for_every_post');