用自定义功能输出WordPress短代码,不工作?

时间:2015-04-08 13:49:18

标签: php wordpress

使用以下函数无数次输出包含在相关HTML标记中的原始文本。但突然之间,没有工作?!?

它输出原始文本(即; airbush-line),我知道它基本上是do_shortcode将回应的内容。只是它不再运行我的自定义功能?

我在CPT中有一个自定义元字段,输出原始文本,然后我将在我的函数中包装,因此会显示一个图标,但它目前没有播放球?

元框代码 -

$prefix = 'theme_';

$meta_box_service = array(
'id' => 'service_details',
'title' => __( 'Service Details', 'budd' ),
'page' => 'services',
'context' => 'normal',
'priority' => 'high',
'fields' => array(
    array(
        'name' => __( 'Service Icon', 'budd' ),
        'id' => $prefix . 'service_icon',
        'type' => 'select',
        'options' => array(
            'Airbush (Line)' => 'airbrush-line',
            'Airbrush (Solid)' => 'airbrush-solid',
            'Bar Chart (Solid)' => 'bar-chart-solid'

        )
    ),
    array(
       'name' => __( 'Service URL', 'budd' ),
       'id' => $prefix . 'service_url',
       'type' => 'text',
       'std' => ''
    )
)
);

add_action( 'admin_menu', 'theme_add_box_service' );

前端的do_shortcode -

<?php echo do_shortcode( get_post_meta( $post->ID, 'theme_service_icon', $single = true ) ) ?>

我已经拥有的功能 -

class IconsMind {
public function __construct() {
    add_action( 'init', array( &$this, 'init' ) );
}

public function init() {
    add_shortcode( 'icon', array( $this, 'setup_shortcode' ) );
    add_filter( 'widget_text', 'do_shortcode' );
}

public function setup_shortcode( $params ) {
    extract( shortcode_atts( array(
                'name'  => 'icon-airbush-line'
            ), $params ) );
    $icon = '<i class="'.$params['name'].'"></i>';

    return $icon;
}

}

new IconsMind();

任何建议,真的很感激

感谢

0 个答案:

没有答案