猿问

如何在一个函数中添加多个简码?

我有这个 wordpress 功能


function randm() { 

  $args = array( 'post_type' => 'post',

   'orderby'=> 'rand', 'category_name' => 'Motor',

   'posts_per_page' => 1, );

  wp_reset_postdata(); 

 

else { $string .= 'no posts found'; } return $string; }

 

add_shortcode('randm','randm'); 

add_filter('widget_text', 'do_shortcode');

在上面的代码中,如果我输入 [randm] 将显示来自“Motor”的帖子类别,我想在其中添加多个类别,并为每个不同类别添加多个短代码,该怎么做?


ibeautiful
浏览 93回答 1
1回答

侃侃无极

无论如何,您的代码似乎不完整: 如果我理解正确的话,您需要使用短代码属性。function randm($atts) {    $args = array(         'post_type' => 'post',         'orderby'=> 'rand',         'category_name' => $atts['category'],         'posts_per_page' => 1,     );     /// ... your code }您可以使用它作为简码:[randm category="Motor"] 如果你想使用多个类别,你可以分解字符串:function randm($atts) {    $args = array(         'post_type' => 'post',         'orderby'=> 'rand',         'category_name' => explode(', ', $atts['category']),         'posts_per_page' => 1,     );     /// ... your code  }并使用[randm category="Motor, Second"]如果您想确保存在默认值,您可以使用function randm($atts) {    $atts = shortcode_atts( array(        'category' => 'Motor',    ), $atts);     // Remaining code}
随时随地看视频慕课网APP
我要回答