WordPress短代码 - 非常令人费解的问题?

时间:2014-01-30 14:03:50

标签: php wordpress

我正在尝试创建一个'饼图'短代码,以便在WP中使用。除了百分比数量之外,一切正常。如果它被输入数组它工作正常,但如果我删除该数字(即; 100 - 如下面的代码所示),用户在前端输入的任何数字都返回空?相当令人费解?

function piechart_inner_shortcode( $atts ) {

extract( shortcode_atts( array(
  'data_percentage' => '100',
  'title' => 'Title',
), $atts ) );

   $output = '<div class="chart"><div class="percentage" data-percent="'. $data_percentage .'"><span>'.$data_percentage.'%</span></div><div class="label"><strong>'.$title.'</strong></div></div>';

   return $output;

}

add_shortcode( 'piechart_inner', 'piechart_inner_shortcode' );

这是需要在前端输入的短代码 -

[piechart_inner data-percent =“45”title =“WordPress”] [/ piechart_inner]

无论输入什么值,哪个数据百分比都没有输出?

非常感谢

1 个答案:

答案 0 :(得分:1)

您使用的是错误的变量。当您有变量 data_percentage

时,您正在提供数据百分比

您的短代码应如下所示:

[piechart_inner data_percentage="45" title="WordPress"][/piechart_inner]

或者将功能更改为以下内容:

function piechart_inner_shortcode( $atts ) {

extract( shortcode_atts( array(
  'data-percent' => '100',
  'title' => 'Title',
), $atts ) );

   $output = '<div class="chart"><div class="percentage" data-percent="'. $data-percent .'"><span>'.$data-percent.'%</span></div><div class="label"><strong>'.$title.'</strong></div></div>';

   return $output;

}

add_shortcode( 'piechart_inner', 'piechart_inner_shortcode' );