簡體   English   中英

具有ACF的Wordpress小部件不顯示值

[英]Wordpress widget with ACF not displaying values

我在這里根據此代碼創建了一個自定義窗口小部件。 但是,當我嘗試在前端顯示ACF值時卻沒有顯示。 我應該在“清理窗口小部件”部分中編輯某些內容嗎?

/**
 * Adds custom widget.
 */

class Custom_Widget extends WP_Widget {

//Register widget with WordPress.
function __construct() {
    parent::__construct(
      'custom_widget', // Base ID
      __('Social Links', 'text_domain'), // Name
      array( 'description' => __( 'Social links for menu', 'text_domain' ), ) // Args
    );
}

//Front-end display of widget.
public function widget( $args, $instance ) {
    echo $args['before_widget'];?>
    <ul>
        <li><a href="<?php the_field('twitter_link', 'widget_' . $widget_id); ?>">twitter</a></li>
        <li></li>
    </ul>
    <?php echo $args['after_widget'];
}

//Back-end widget form.
public function form( $instance ) {


}

//Sanitize widget form values as they are saved.
public function update( $new_instance, $old_instance ) {
    $instance = array();
    $instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : '';

    return $instance;
    }
}

// register Custom_Widget widget
add_action( 'widgets_init', function(){
    register_widget( 'Custom_Widget' );
});

在前端打印出來:

<section id="custom_widget-2" class="widget widget_custom_widget">
    <ul>
        <li><a href="">twitter</a></li>
        <li></li>
    </ul>
</section>  

我正在使用ACF添加值,您可以在此處看到: 在此處輸入圖片說明

這是保存了數據的小部件: 在此處輸入圖片說明

請嘗試以下操作,看起來好像未正確返回小部件ID:

//Front-end display of widget.
public function widget( $args, $instance ) {
    echo $args['before_widget'];?>
    <ul>
        <li><a href="<?php echo get_field('twitter_link', 'widget_' . $args['widget_id']); ?>">twitter</a></li>
        <li></li>
    </ul>
    <?php echo $args['after_widget'];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM