2017-08-21 3 views
1

私はこのコードhereに基づいてカスタムウィジェットを作成しました。しかし、フロントエンドにACF valuesを表示しようとすると表示されません。私は 'sanitize widget'セクションで何かを編集していますか?フロントエンドでACFの値が表示されないWordpressウィジェット

/** 
* 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を使用して、私の値を追加している:ここで enter image description here

はと私のウィジェットです保存されたデータ: enter image description here

+0

<?php inside widget?ちょうどチェックする – zod

+0

@zodはい、 '<?php'が必要です。それはPHPコードの次のブロックを開始します... – FluffyKitten

+0

あなたは<?php thatsここを意味します:<?php echo $ args ['after_widget']; – probablybest

答えて

0

ウィジェットIDがプロ返品されていないかのように見えますperly:

//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']; 
} 
関連する問題