我正在做一些新的事情&;今晚出人意料,有很多错误,今晚我问了很多愚蠢的问题,所以我保证这是最后一个:)
在上一篇文章中,我得到了一个答案,我可以用以下代码在列表中列出所有分类术语:
<?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只是返回了一些错误。是否可以在其中运行此代码。
这是最后一个问题,它将完成我的第一个项目,请帮助:)
谢谢
最合适的回答,由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>\';