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