短信WordPress

时间:2016-03-03 06:18:09

标签: wordpress

我正在尝试创建一个会产生多个错误的短代码。这是我的代码。

function robojob_shortcode_test(){

ob_start();
$args_shortcode = array(
        'post_type' => 'job_listing',
        'orderby' => 'meta_value_num',
        'meta_key'   => 'post_views_count',
  );
$shortcode = new WP_Query( $args_shortcode );

if ( $shortcode->have_posts()) :
    while ( $shortcode->have_posts()) :
        $shortcode->the_post();
          $post_ID = get_the_ID();
          $company_name = get_post_meta( $post_ID, '_company_name', true);
          $featured_company_id = get_post_meta( $post_ID, '_featured_company', true);
            the_title();
            if( $featured_company_id == 'yes'){
              echo esc_attr($company_name);
            }
    endwhile;
endif;
wp_reset_postdata();
$content = ob_get_clean();
return $content;
die;
}

add_shortcode('robojob','robojob_shortcode_test');

错误:

  

警告:strpos()期望参数1为字符串,数组为   第205行/var/www/html/robojob_pro/wp-includes/shortcodes.php

     

警告:preg_match_all()期望参数2为字符串,数组   在/var/www/html/robojob_pro/wp-includes/shortcodes.php中给出   213

     

警告:array_intersect():参数#2不是数组   第214行/var/www/html/robojob_pro/wp-includes/shortcodes.php

     

注意:数组转换为字符串   /var/www/html/robojob_pro/wp-content/themes/robojob-pro/page-templates/template-home.php   在第111行

1 个答案:

答案 0 :(得分:0)

由于这个问题已经超过一年了,所以无论如何我都会回答这个问题,希望能帮助一个人走下坡路。基本上do_shortcode执行者是应该在这里显示的代码......我得到了这些完全相同的错误并通过纠正我的短代码标注来修复它。

我有:do_shortcode(['shortcode_callback']); 将其更改为:do_shortcode('[shortcode_callback]'); 和错误再见。