如何在我的wordpress短代码中使用if条件

时间:2014-12-31 07:16:30

标签: php wordpress

我想使用短码的条件。

如何从短代码中使用if else条件?

这是我的代码:

    function testimonial_content_shortcode($atts){
  extract( shortcode_atts( array(
    'category' => '',
    'count' => '',
    'type' => 'post',
  ), $atts  ) );

    $q = new WP_Query(
        array('posts_per_page' => $count, 'post_type' => 'testimonial-items', 'order', 'ASC' )
        );    

  $list = '<div class="col-md-6 wow fadeIn belal_all_testimonial" data-wow-duration="0.6s" data-wow-delay="0.3s">';

  while($q->have_posts()) : $q->the_post();
     $idd = get_the_ID();
     $client_name = get_post_meta($idd, 'client_name', true);
     $company_name = get_post_meta($idd, 'company_name', true);

    $list .= '

            <div id="testimonial-'.$idd.'" class="testimonail-detail">
            <p>
            '.get_the_content().'
            </p>
            <div class="testimonial-info">

              <span class="company">
              Client Name:
            </span>

              <span class="name">
                 '.$client_name.'
              </span>

              <span class="company">
              Company Name:
            </span>
              <span class="name">
                 '.$company_name.'
              </span>
            </div>
          </div>

    ';
  endwhile;
  $list.= '</div>';
  wp_reset_query();
  return $list;
}
add_shortcode('tcontent', 'testimonial_content_shortcode');

我希望当我将客户名称放入时,它将显示在我的页面中客户名称:Belal。但是,当我不选择任何名称时,为什么它不会显示在我的客户名称上:

注意:我使用选项树

1 个答案:

答案 0 :(得分:0)

我认为您正在尝试检查客户名称和公司名称,如果它们是从后端发出的。这些字段是可选的,只有在那里有一些值时才需要在页面中显示这些字段。

请检查此代码。这应该可以帮到你:

function testimonial_content_shortcode($atts){
  extract( shortcode_atts( array(
    'category' => '',
    'count' => '',
    'type' => 'post',
  ), $atts  ) );

    $q = new WP_Query(
        array('posts_per_page' => $count, 'post_type' => 'testimonial-items', 'order', 'ASC' )
        );    

  $list = '<div class="col-md-6 wow fadeIn belal_all_testimonial" data-wow-duration="0.6s" data-wow-delay="0.3s">';

  while($q->have_posts()) : $q->the_post();
     $idd = get_the_ID();
     $client_name = get_post_meta($idd, 'client_name', true);
     $company_name = get_post_meta($idd, 'company_name', true);

    $list .= '

            <div id="testimonial-'.$idd.'" class="testimonail-detail">
            <p>
            '.get_the_content().'
            </p>
            <div class="testimonial-info">';

if( !empty($client_name) ) {

         $list .= '<span class="company">
              Client Name:
            </span><span class="name">
                 '.$client_name.'
              </span>';
}
if( !empty($company_name) ) {
         $list .= '<span class="company">
              Company Name:
            </span>
              <span class="name">
                 '.$company_name.'
              </span>';
}

$list .= '</div>
          </div>';

  endwhile;
  $list.= '</div>';
  wp_reset_query();
  return $list;
}
add_shortcode('tcontent', 'testimonial_content_shortcode');

谢谢!