微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

我有这个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”类别中的帖子,我想在其中添加多个类别,并为每个不同的类别添加多个简码怎么做?

解决方法

无论如何,您的代码似乎不完整: 如果我理解正确,则需要使用简码attritube。

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','category_name' => explode(',',$atts['category']),); 
    /// ... your code 
 }

并使用

[randm category="Motor,Second"]

如果要确保存在默认值,可以使用

function randm($atts) {
    $atts = shortcode_atts( array(
        'category' => 'Motor',),$atts); 
    // Remaining code
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。