如何解决Woocommerce 商店页面上的 ACF 自定义小部件中继器
我对 ACF 自定义小部件有一个大问题,我想使用 WooCommerce 平台商店页面侧边栏中显示的 ACF Pro 设置中继器样式。问题是 - 它不起作用。它不会在 page_slider 中显示名为“photoTest”的图像 sub_field。
我下载了小部件并试图找出这个问题,但我不知道问题出在哪里.. ACF 规则与小部件相关联,在函数中有一个自定义小部件的绝对路径,但我认为问题可能使用自定义小部件本身,所以这里是代码。
<?PHP
class ACF_Custom_Widget extends WP_Widget {
function __construct() {
parent::__construct(
'acf_custom_widget',__('ACF Custom Widget','text_domain'),array( 'description' => __( 'A custom ACF widget','text_domain' ),'classname' => 'acf-custom-widget' ) // Args
);
}
public function widget( $args,$instance ) {
echo $args['before_widget'];
if ( !empty($instance['title']) ) {
echo $args['before_title'] . apply_filters( 'widget_title',$instance['title'] ). $args['after_title'];
}
echo get_field('title','widget_' . $args['widget_id']);?>
<?PHP
if ( is_shop() ){
$page_id = get_option( 'woocommerce_shop_page_id' );
}
else {
$page_id = get_the_ID();
}
if( have_rows('page_sliders',$page_id) ): ?>
<div id="carouselControls" class="carousel slide" data-ride="carousel">
<div class="carousel-inner">
<?PHP while( have_rows('page_sliders',$page_id) ): the_row();
// vars
$image = get_sub_field('photoTest',$page_id);
?>
<div class="photo-wrap">
<img src="<?PHP echo esc_url($image['url']); ?>" alt="<?PHP echo esc_attr($image['alt']); ?>" />
</div>
<?PHP endwhile; ?>
</div>
</div>
<?PHP endif; ?>
<?PHP
echo $args['after_widget'];
}
public function form( $instance ) {
if ( isset($instance['title']) ) {
$title = $instance['title'];
}
?>
<p>
<label for="<?PHP echo $this->get_field_id( 'title' ); ?>"><?PHP _e( 'Title' ); ?></label>
<input class="widefat" id="<?PHP echo $this->get_field_id( 'title' ); ?>" name="<?PHP echo $this->get_field_name( 'title' ); ?>" type="text" value="<?PHP echo esc_attr( $title ); ?>">
</p>
<?PHP
}
public function update( $new_instance,$old_instance ) {
$instance = array();
$instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : '';
return $instance;
}
}
add_action( 'widgets_init',function(){
register_widget( 'ACF_Custom_Widget' );
});
请帮忙..谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。