Шорткод выводится вверху контента, а не там, где мне это нужно.

Я знаю, что это, вероятно, проблема с возвратом. Поэтому я разделил содержимое: одно в функции с именем thelist, а другое — реальная функция, возвращающая его. Код следует за вопросом.

Фактический шорткод работает, за исключением того, что содержимое появляется вверху перед остальным содержимым. Я думал, что возврат now_include_postисправит это, но это не так. Кто-нибудь может помочь?

function thelist() {
if (have_posts()) : while (have_posts()) : the_post();
?>  
        <div id="post-<?php the_ID(); ?>"  <?php post_class('thumb'); ?>>
            <a href="<?php the_permalink() ?>" class="thumb-link">
            <?php
    if (!post_password_required())  {
                    if (has_post_thumbnail()) {
                        the_post_thumbnail();
                    }
                } else {
                    ?>
                    <img src="<?php bloginfo('template_url') ?>/img/locked.png"  />
        <?php } ?>
            </a>
            <h2>
                <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a>
            </h2>
        </div>
<?php /* end post */ ?>
<?php
    endwhile;
    endif;
    wp_reset_query();
    }
    ?>
    <?php

function now_include_post($atts) {
$thepostid = intval($atts[id]);
query_posts("p=$thepostid");
$output.= thelist();
return $output;
}
8
задан Chris 2 May 2012 в 08:33
поделиться