如何在返回中获取此值

时间:2014-04-23 作者:Hardeep Asrani

我正在做一些新的事情&;今晚出人意料,有很多错误,今晚我问了很多愚蠢的问题,所以我保证这是最后一个:)

在上一篇文章中,我得到了一个答案,我可以用以下代码在列表中列出所有分类术语:

<?php 
    $terms = get_terms(\'YOUR-TAXONOMY\');
    if ( $terms ) :
?>
<ul id="portfolioFilter">
    <li class="filter" data-filter="all">All</li>
    <?php foreach ( $terms as $term ): ?>
    <li class="filter" data-filter="<?php echo $term->slug; ?>"><?php echo esc_html($term->name); ?></li>
    <?php endforeach; ?>
</ul>
<?php endif; ?>
但是,我如何在我目前正在使用的插件中使用此代码,该插件如下所示:

return 
\'<div class="listings clearfix">\' 
. \'<li class="filter" data-filter="\'. $term->slug .\'>\'. esc_html($term->name) .\'</li>\'
. \'<div class="inner-div preview-wrap">\'
. \'<div id="portfolio-wrap">\'
. \'<div id="portfolio_thumbs" class="columns-3">\'
. \'<ul id="grid" class="sortablePortfolio clearfix">\'
. $list 
. \'</ul>\'
. \'</div>\'
. \'</div>\'
. \'</div>\'.
上面代码的第三行是我希望列表出现的地方。我做了很多事情,但WordPress只是返回了一些错误。是否可以在其中运行此代码。

这是最后一个问题,它将完成我的第一个项目,请帮助:)

谢谢

1 个回复
最合适的回答,由SO网友:Bainternet 整理而成

这更像是一个PHP问题,而不是WordPress问题,但答案很简单,只需通过包装第一个代码片段来使用PHP的输出缓冲区,例如:

//为过滤器创建函数

function get_filters(){
    $terms = get_terms(\'YOUR-TAXONOMY\');
    if ( $terms ) {
        ob_start();
        ?>
        <ul id="portfolioFilter">
            <li class="filter" data-filter="all">All</li>
            <?php foreach ( $terms as $term ): ?>
            <li class="filter" data-filter="<?php echo $term->slug; ?>"><?php echo esc_html($term->name); ?></li>
            <?php endforeach; ?>
        </ul>
        <?php
        return ob_get_clean();
    }
    return false;
}
//然后在第二个代码段中调用该函数:

return 
\'<div class="listings clearfix">\' 
. \'<li class="filter" data-filter="\'. $term->slug .\'>\'. esc_html($term->name) .\'</li>\'
. \'<div class="inner-div preview-wrap">\'
. \'<div id="portfolio-wrap">\'
. \'<div id="portfolio_thumbs" class="columns-3">\'
. \'<ul id="grid" class="sortablePortfolio clearfix">\'
. get_filters() 
. \'</ul>\'
. \'</div>\'
. \'</div>\'
. \'</div>\';

结束

相关推荐

想要wp_get_post_Terms以任意顺序返回,该怎么办?

下面的函数按字母顺序返回,而不是按任意顺序返回是否可以-不-按字母顺序返回,但按数组中给出的确切顺序返回?add_filter(\'the_content\', \'my_function\'); function my_function($content) { if ( is_single() && in_category( \'5\' ) ) { the_post_thumbnail(\'thumbnail\', array(\'class\' => \'