我试图在帖子中显示3个随机类别。
我使用Advanced Custom Fieds插件来显示类别图片。 if语句是:
if ( get_field( 'portada', 'category_' . $cats->term_id ) ) {
echo '<a class="cover margin-ultimos" href="' . get_category_link( $cats->term_id ) . '">';
echo '<div id="cover-home" class="gray-shadow">';
echo '<img src="'. get_field( 'portada', 'category_'.$cats->term_id ). '" alt="Portada'. get_cat_name ( $cats->term_id ) . '" />';
echo '</div>';
并且,我试图使用wp_list_categories显示此内容,因此我在 functions.php 文件中添加了这一行:
add_filter ( 'wp_list_categories', 'img_before_link_list_categories' );
function img_before_link_list_categories( $list ) {
$cats = get_categories();
foreach($cats as $cat) {
$find = $cat->name.'</a>';
$replace = '//Here the If Statement to show the image';
$list = str_replace( $find, $replace, $list );
$list = preg_replace('%<li class=".*">|</?ul>%U', '<h2>', $list);
$list = str_replace('</li>', '</h2>', $list);
}
return $list;
}
如何在$replace
变量中保存if语句?
答案 0 :(得分:1)
$replace = '';
if( get_field( 'portada', 'category_' . $cats->term_id ) )
{
$replace .= '<a class="cover margin-ultimos" href="' . get_category_link( $cats->term_id ) . '">';
$replace .= '<div id="cover-home" class="gray-shadow">';
$replace .= '<img src="'. get_field( 'portada', 'category_'.$cats->term_id ). '" alt="Portada'. get_cat_name ( $cats->term_id ) . '" />';
$replace .= '</div>';
$replace .= '</a>';
}