在主题模板中动态填充快捷码值

时间:2011-07-18 作者:shinyidol

我正在尝试在主题模板中使用jquery切换短代码。

短代码如下所示:

[sws_toggle3 title="Title"]You can now see the displayed text.[/sws_toggle3]
我想从特定类别中提取帖子,并使用切换在页面中显示它们。

这是我的主题模板当前的功能:

    <?php
        $wp_query->query(\'cat=11&paged=\'  . $paged);
        while ($wp_query->have_posts()) : $wp_query->the_post();?>
        <li id="post-<?php the_ID(); ?>">
            <h2><a class="title" href="<?php the_permalink(); ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
        <div class="post">
            <?php the_content(); ?>
        </div>
            <div class="clear"></div>
        </li>
    <?php endwhile; ?>
输出如下:

[sws_toggle3 title="<?php the_title(); ?>"]<?php the_content(); ?>[/sws_toggle3]
这可能吗?任何帮助都将不胜感激。

谢谢

2 个回复
最合适的回答,由SO网友:Chip Bennett 整理而成

您应该能够使用do_shortcode(), 经过一些修改:

<?php
echo do_shortcode( \'[sws_toggle3 title="\' . get_the_title() . \'"]\' . get_the_content() . \'[/sws_toggle3]\' );
?>

EDIT

如果需要维护the_content(), 简单地通过get_the_content() 通过适当的过滤器:

<?php
$content = get_the_content();
$content = apply_filters( \'the_content\', $content );
echo do_shortcode( \'[sws_toggle3 title="\' . get_the_title() . \'"]\' . $content . \'[/sws_toggle3]\' );
?>

SO网友:Milo

use do_shortcode():

$wp_query->query(\'cat=11&paged=\'  . $paged);

while ($wp_query->have_posts()) :

    $wp_query->the_post();
    $content = apply_filters( \'the_content\',get_the_content() );
    $title = the_title(\'\',\'\',false);
    $shortcode = \'[sws_toggle3 title="\'.$title.\'"]\'.$content.\'[/sws_toggle3]\';
    echo do_shortcode($shortcode);

endwhile;
结束

相关推荐

JQuery UI自动完成&wp_enQueue_脚本

我查看了WordPress中包含的脚本(wp_enqueue_script) 没有找到使用jQuery UI Autocomplete应该包含的内容我在管理区使用它。我应该只包括来自Google CDN的jQuery UI吗?我认为这会与WordPress的jQuery UI冲突?这似乎很管用。