Хочу написать шорткод в которому будут выводиться последние 5 записей таксономии. Вся загвоздка в том, что я не знаю как просуммировать строки в этом месте:
$cont += "<li><a href='". $post->guid. "'>" . $post->post_title . "</a></li><br />";
т.к. по хорошему атрибуты $post
должны выводиться через echo и если я подставляю в выражение выше - получаю ошибку.
Код:
function shortcode_function() {
$args = array(
'numberposts' => 5,
'category' => 0,
'orderby' => 'date',
'order' => 'DESC',
'meta_key' => '',
'meta_value' =>'',
'post_type' => 'movies',
'suppress_filters' => true,
);
$posts = get_posts( $args );
$cont = 0;
foreach( $posts as $post ){
setup_postdata($post);
$cont += "<li><a href='". $post->guid. "'>" . $post->post_title . "</a></li><br />";
}
return $cont;
}
add_shortcode( 'show_films', 'shortcode_function' );
Операция сцепления строк в php называется конкатенация и описывается с помощью точки.
function shortcode_function() {
$args = array(
'numberposts' => 5,
'category' => 0,
'orderby' => 'date',
'order' => 'DESC',
'meta_key' => '',
'meta_value' => '',
'post_type' => 'movies',
'suppress_filters' => true,
);
$posts = get_posts( $args );
$cont = ''; // Пустая строка
foreach ( $posts as $post ) {
setup_postdata( $post );
// Конкатенация
$cont .= "<li><a href='" . $post->guid . "'>" . $post->post_title . "</a></li><br />";
}
return $cont;
}
add_shortcode( 'show_films', 'shortcode_function' );
Моя задача решается с помощью буферизации вывода ob_start() - ob_get_clean()
function shortcode_function() {
ob_start();
$args = array(
'numberposts' => 5,
'category' => 0,
'orderby' => 'date',
'order' => 'DESC',
'meta_key' => '',
'meta_value' =>'',
'post_type' => 'movies',
'suppress_filters' => true,
);
$posts = get_posts( $args );
$cont = 0;
foreach( $posts as $post ){
setup_postdata($post);
?>
<li><a href="<?php echo $post->guid; ?>"><?php echo $post->post_title; ?></a></li>
<?php }
$cont = ob_get_clean();
return $cont;
}
add_shortcode( 'show_films', 'shortcode_function' );
Виртуальный выделенный сервер (VDS) становится отличным выбором
Хочу написать фреймворк (чисто для практики), возник вопрос: а как мне хранить конфиг для сайта? обычный массив в php-файле кажется не очень...
Не могу уже 3-й день настроить модуль и корректно запуститься, помогите пожалуйста с решением проблемы