WordPress Shortcodes的条件语句

时间:2016-02-08 10:14:18

标签: php wordpress conditional

我设置了两个短代码: [easy_options id="companyName"][easy_options id="companyLogo"]

我希望WordPress检查[easy_options id="companyLogo"]是否包含数据(图片上传),如果不显示[easy_options id="companyName"](纯文本)......

这可能吗?如果有的话,请指出我正确的方向吗?

2 个答案:

答案 0 :(得分:0)

您需要将条件设置为检查ID,如下所示。

function your_short_code_function($atts) {
    $options = shortcode_atts(array(
       'id' => ''
    ), $atts, "easy_options");

   if($options['id'] == "companyLogo") {
       //an image upload
   }
}

答案 1 :(得分:0)

您可以使用以下开关案例来执行此操作:

function easy_options_shortcodes( $atts ) {
extract( shortcode_atts( array(
    'id' => 'companyName' //cosidering a defaultvalue

), $atts ) );

switch( $id ){
    case 'companyName': 
        $output = '<div class="classcompanyName"></div>';
        break;

    case 'companyLogo': 
        $output = '<div class="companyLogo"></div>';
        break;

    default:
        $output = '<div class="defaultshortcodecontent"></div>';
        break;
  }

   return $output;
}

add_shortcode( 'easy_options', 'easy_options_shortcodes' );