• Всем привет
    вывожу список постов (заголовок и контент) определенной категории следующим кодом:

    <?php
    	$posts_new = get_posts('category=20&numberposts=4');
    	echo '<div>';
    	foreach ($posts_new as $post_new) :
    	echo '<h4>';
    	echo $post_new->post_title;
    	echo '</h4>';
    	echo $post_new->post_content;
    	endforeach;
    	echo '</div>';
    	echo '<div class="clear"></div>';
    ?>

    и вылезает проблема — категория 20 это видео работы, и видео с ютуба я вывожу плагином wp-youtube2, тоесть просто в шорткод я вставляю youtube_id (например [youtube]XUrYdzauk1E[/youtube])
    и самое убивающее что строка echo $post_new->post_content; текст выводит отлично а вот вместо видео выводится сам шорткод

    подскажите пожалуста может нужно какойто фильтр добавить в файл functions.php

Просмотр 15 ответов — с 1 по 15 (всего 17)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    echo apply_filters('the_content', $post_new->post_content);

    Спасибо Сергей, оперативно)

    а echo же вроде не надо?

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    В рамках данного примера — надо 🙂

    понял, еще раз спасибо!

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Этой строкой нужно заменить echo $post_new->post_content; (подумал, что стоит уточнить на всякий случай).

    да это правильное уточнение) ато я б эту строку верняк бы сунул не туда)

    еще такое уточнение, а если я хочу выводить цитату, такой код там подойдет:
    echo apply_filters('the_excerpt', $post_new->post_excerpt);

    в файле functions.php у меня добавлены строки, которые разрешают в цитатах шорткоды:

    add_filter( 'the_excerpt', 'shortcode_unautop');
    add_filter( 'the_excerpt', 'do_shortcode');
    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Да, должен подойти.

    А можно и переписать фрагмент немного иначе, без apply_filters():

    <div>
    <?php $posts_new = get_posts('category=20&numberposts=4'); ?>
    <?php foreach ($posts_new as $post) : setup_postdata($post); ?>
    	<h4><?php the_title(); ?></h4>
    	<?php the_content(); // или the_excerpt(); ?>
    <?php endforeach; ?>
    <?php wp_reset_postdata(); ?>
    </div>
    <div class="clear"></div>

    кстати не подошел)

    а вот новенький, очень радует)

    вот реально долго пользуюсь вордпрессом и всякими штучками — ивсеравно каждый раз чтото новенькое)

    спасибо, Сергей

    голяк, этот тоже не работает, вот смотрите (правая колонка)

    http://www.serkhmelov.com/portfolio/

    + у меня на этой же странице есть еще query_posts но перед приведенным Вами кодом стоит тег wp_reset_query()

    + странно очень но the_content() — работает, а the_excerpt() — не работает

    ———

    для того чтобы у меня через шорткоды в цитатах выводились фотогалереи я добавлял код в functions.php такую строчку

    add_filter( 'the_excerpt', 'gallery_embed');

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Оказалось, что WP YouTube 2 не регистрирует свою функцию как шорткод, а привязывает к фильтру the_content напрямую.

    У меня заработало так:

    <?php echo apply_filters( 'the_content', get_the_excerpt() ); ?>

    Поле «Цитата» должно быть заполнено вручную, т.к. если оно пустое, то анонс создаётся из содержимого записи, но шорткоды при этом вырезаются.

    а куда эту строчку вставлять?

    я решил тем тчо добавил еще плагин video-embedder и в functions.php добавил строчку

    add_filter('the_excerpt', 'videoembedder_embed');

    и в настройках прописал нужные праметры (высоту и ширину чтоб в сайдбаре все ровненько было)

    а wp-youtube-2 использую для вставки в посты, просто удобно что в нем можно несколько профилей создавать и разными шорткодами выводить нужные размеры)

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    а куда эту строчку вставлять?

    В моём примере — вместо этой:

    <?php the_content(); // или the_excerpt(); ?>

    В вашем — вместо этой (без <?php и ?>):

    echo apply_filters('the_excerpt', $post_new->post_excerpt);

Просмотр 15 ответов — с 1 по 15 (всего 17)
  • Тема «Вывести посты опрд. категории полностью» закрыта для новых ответов.