为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
ibeautiful 2023-12-15 15:57:50
我有这个 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”的帖子类别,我想在其中添加多个类别,并为每个不同类别添加多个短代码,该怎么做?
查看完整描述

1 回答

?
侃侃无极

TA贡献2051条经验 获得超10个赞

无论如何,您的代码似乎不完整: 如果我理解正确的话,您需要使用短代码属性。


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

}


查看完整回答
反对 回复 2023-12-15
  • 1 回答
  • 0 关注
  • 87 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信