如何为服装分类帖子列表设置IF语句?

问题描述 投票:0回答:1

我有这个数组代码来列出“链接类别”分类法中的书签链接。

    <?php
    function wp_list_bookmarks_cm($args = ''){$defaults = array( 'orderby' => 'name', 'order' => 'ASC','limit' => -1, 'category' => '', 'exclude_category' => '','category_name' => '', 'hide_invisible' => 1,'show_updated' => 0, 'echo' => 1, 'categorize' => 1, 'title_li' => __('Bookmarks'),'title_before' => '<h2>', 'title_after' => '</h2>', 'category_orderby' => 'name', 'category_order' => 'ASC','class' => 'linkcat', 'category_before' => '<li id="%id" class="%class" >', 'category_after' => '</li>' );$r = wp_parse_args( $args, $defaults );$output = '';if ( ! is_array( $r['class'] ) ) {$r['class'] = explode( ' ', $r['class'] );}$r['class'] = array_map( 'sanitize_html_class', $r['class'] );$r['class'] = trim( join( ' ', $r['class'] ) );if ( $r['categorize'] ) {$cats = get_terms( 'link_category', array('name__like' => $r['category_name'],'include' => $r['category'],'exclude' => $r['exclude_category'],'orderby' => $r['category_orderby'],'order' => $r['category_order'], 'hierarchical' => 0) );if ( empty( $cats ) ) {$r['categorize'] = false;}}if ( $r['categorize'] ) {foreach ( (array) $cats as $cat ) {$params = array_merge( $r, array( 'category' => $cat->term_id ) ); $bookmarks = get_bookmarks( $params );if ( empty( $bookmarks ) ) {continue;}$output .= str_replace(array( '%id', '%class' ),array( "linkcat-$cat->term_id", $r['class'] ),$r['category_before']);$catname = apply_filters( 'link_category', $cat->name );$output .= $r['title_before'];$output .= $catname;$output .= $r['title_after'];$output .= "\n\t<ul id='ci$cat->term_id' class='xoxo blogroll' style='height:530px;'>\n";$output .= _walk_bookmarks( $bookmarks, $r );$output .= "\n\t</ul><div class='animated bounceInRight holder holder$cat->term_id'></div>\n";$output .= $r['category_after'] . "\n";}} else {$bookmarks = get_bookmarks( $r );if ( ! empty( $bookmarks ) ) {if ( ! empty( $r['title_li'] ) ) {$output .= str_replace(array( '%id', '%class' ),array( "linkcat-" . $r['category'], $r['class'] ),$r['category_before']);$output .= $r['title_before'];$output .= $r['title_li'];$output .= $r['title_after'];$output .= "\n\t<ul id='ci$cat->term_id' class='xoxo blogroll'>\n";$output .= _walk_bookmarks( $bookmarks, $r );$output .= "\n\t</ul><div class='animated bounceInUp holder holder$cat->term_id'></div>\n";$output .= $r['category_after'] . "\n";} else {$output .= _walk_bookmarks( $bookmarks, $r );}}}$html = apply_filters( 'wp_list_bookmarks', $output );if ( ! $r['echo'] ) {return $html;}echo $html;}?><?php get_header(); ?><div class="container">
     <div class="linkspageL"><div role="alert" class="load_links animated bounceInDown col-md-12 note note-sc alert-dismissable fade in" style="margin:60px 10px 60px 10px;font-size:13px;cursor:wait;"><i class="fa fa-refresh fa-spin"></i>&nbsp;&nbsp;پیوند ها در حال بارگزاری است لطفا صبر کنید ...<br></div>
       <div class="linksrow links">
        <div class="links-c1"><?php wp_list_bookmarks_cm('category=2588&orderby=title&order=ASC&limit=-1&title_before=<h2><i class="fa fa-plane" aria-hidden="true"></i> &title_after=</h2>');?></div>
        <div class="links-c2"><?php wp_list_bookmarks_cm('category=2467&orderby=title&order=ASC&limit=-1&title_before=<h2><i class="fa fa-plane" aria-hidden="true"></i> &title_after=</h2>');?></div>
       <div class="links-c1"><?php wp_list_bookmarks_cm('category=2589&orderby=ID&order=ASC&limit=-1&title_before=<h2><i class="fa fa-users" aria-hidden="true"></i> &title_after=</h2>');?></div>
         <div class="links-c2"><?php wp_list_bookmarks_cm('category=2590&orderby=ID&order=ASC&limit=-1&title_before=<h2><i class="fa fa-building" aria-hidden="true"></i> &title_after=</h2>');?></div>
        <div class="links-c1"><?php wp_list_bookmarks_cm('category=2591&orderby=ID&order=ASC&limit=-1&title_before=<h2><i class="fa fa-university" aria-hidden="true"></i> &title_after=</h2>');?></div>
       <div class="links-c2"><?php wp_list_bookmarks_cm('category=2592&orderby=ID&order=ASC&limit=-1&title_before=<h2><i class="fa fa-database" aria-hidden="true"></i> &title_after=</h2>');?></div>
        <div class="links-c1"><?php wp_list_bookmarks_cm('category=2593&orderby=ID&order=ASC&limit=-1&title_before=<h2><i class="fa fa-link" aria-hidden="true"></i> &title_after=</h2>');?></div>
      <div class="links-c2"><?php wp_list_bookmarks_cm('category=2594&orderby=ID&order=ASC&limit=-1&title_before=<h2><i class="fa fa-newspaper-o" aria-hidden="true"></i> &title_after=</h2>');?></div>
         <div class="links-c1"><?php wp_list_bookmarks_cm('category=2595&orderby=ID&order=ASC&limit=-1&title_before=<h2><i class="fa fa-plane" aria-hidden="true"></i><i class="fa fa-cogs" aria-hidden="true"></i> &title_after=</h2>');?></div>
       <div class="links-c2"><?php wp_list_bookmarks_cm('category=2596&orderby=ID&order=ASC&limit=-1&title_before=<h2><i class="fa fa-info-circle" aria-hidden="true"></i> &title_after=</h2>');?></div>

               </div></div></div><?php get_footer(); ?>

现在我想为每个具有“hott”标签的书签链接设置 if 语句。

我用过这个但不起作用:

 'category_before' => '<li id="%id" class="%class" <?php if ( is_tax('link_category','hott' ) ) {?> style="color: #ff8c00;" <?php } ?>
  >', 'category_after' => '</li>'

我现在能做什么?

php wordpress if-statement bookmarks
1个回答
0
投票

恐怕你不容易做到这一点。书签不使用 Walkers,因此您无法添加扩展默认值的自定义 Walker。

不能使用三元运算符(“condition ? then : else”),因为它会在传递给函数之前被解释,因此只能计算一次,而不是针对每个项目。

您必须获取书签并自己构建输出。您可能可以从

_walk_bookmarks()
中复制大量代码到
/wp-includes/bookmark-template.php

© www.soinside.com 2019 - 2024. All rights reserved.