AntonEssential
@AntonEssential

Не работает do_shortcode в WP?

Добрый, подскажите пожалуйста как сделать вывод определенной фразы в превью постов в вордпрес.
Пытаюсь сделать вывод превью постов с определенной рубрики, нативными функциями я делаю вывод тайтла, картинки, и функцией the_excerpt(); можно вывести краткое превью, только мне это не подходит, я не хочу выводить превью поста а хочу вывести определенные фразы из поста, и пока не совсем понятно как это сделать, возможно подскажите решение, может шорткод в данном случае не подходит.
<?php
  $query = new WP_Query('&cat=6&showposts=10' . '&paged='.$paged);
    if( $query->have_posts() ){
    while( $query->have_posts() ){ $query->the_post();
  ?>
  <div class="news-item rel-info">
    <a href="<?php the_permalink();?>">
      <?php the_post_thumbnail();?>
    </a>
  </div>
  <div class="col-md-8">
    <h2><a href="<?php the_permalink();?>"><?php the_title();?></a></h2>
    <span class="num">
      <?php echo do_shortcode('[articul]'); ?> // Не работает !
    </span>
    <span class="type"> В это место необходим тоже вывод определенного описания</span>
    <a href="<?php the_permalink();?>" class="next"> more... </a>
  </div>
<?php
}
wp_reset_postdata();
}
?>

Это то, что лежит в functions.php
<?php
function articul_function($atts){
	extract(shortcode_atts(array(
		'name' => ''
	), $atts) );
	return $name;
}
add_shortcode('articul','articul_function');
?>
  • Вопрос задан
  • 1374 просмотра
Пригласить эксперта
Ответы на вопрос 2
wppanda5
@wppanda5 Куратор тега WordPress
WordPress Mедведь
1. По API шорткод составлен не правильно, это раз.
2. А что же он должен вернуть?
<?php echo do_shortcode('[articul]'); ?>
Он работает, только выводить ему нечего.
3. the_excerpt() - вам идеально подходит, внимательно прочитайте описание функции.
Если заполнено это поле
2ab2d87677.jpg
то она выведет, его содержимое
Ответ написан
kumaxim
@kumaxim
Web-программист
Не до конца все-таки понял суть Вашей проблемы, но если нужно отфильтровать что-то из стандартного вывода WP, то я всегда использую функцию add_filter(). Список всех возможных фильтров смотри здесь
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы