Просто используйте the_content
фильтр, например:
<?php
function theme_slug_filter_the_content( $content ) {
$custom_content = 'YOUR CONTENT GOES HERE';
$custom_content .= $content;
return $custom_content;
}
add_filter( 'the_content', 'theme_slug_filter_the_content' );
?>
По сути, вы добавляете контент публикации после вашего пользовательского контента, а затем возвращаете результат.
редактировать
Как отмечает Фрэнки @bueltge в своем комментарии, этот процесс одинаков для заголовка поста; просто добавьте фильтр на the_title
крючок:
<?php
function theme_slug_filter_the_title( $title ) {
$custom_title = 'YOUR CONTENT GOES HERE';
$title .= $custom_title;
return $title;
}
add_filter( 'the_title', 'theme_slug_filter_the_title' );
?>
Обратите внимание, что в этом случае вы добавляете свой пользовательский контент после заголовка. (Неважно, какой; я просто пошел с тем, что вы указали в своем вопросе.)
Редактировать 2
Причина, по которой ваш пример кода не работает, заключается в том, что вы возвращаетесь только $content
тогда, когда ваше условие выполнено . Вы должны вернуться $content
, без изменений, в качестве else
условного. например:
function property_slideshow( $content ) {
if ( is_single() && 'property' == get_post_type() ) {
$custom_content = '[portfolio_slideshow]';
$custom_content .= $content;
return $custom_content;
} else {
return $content;
}
}
add_filter( 'the_content', 'property_slideshow' );
Таким образом, для постов, не относящихся к типу поста 'property', $content
возвращается без изменений.
if ( is_single() && 'property' == get_post_type() ) {}
но это не сработало для меня$content
для других типов сообщений, а не для своего пользовательского типа. Смотрите обновленный ответ.В
is_singular
условных проверки тегов , если особая должность отображается и позволяет указать параметр $ post_types который в данном случае является собственностью.Кроме того, вы можете посмотреть на
do_shortcode
источник