Support

Account

Home Forums ACF PRO Widgets – ACF adding -2 to the end of widget ID

Helping

Widgets – ACF adding -2 to the end of widget ID

  • I’m instantiating a widget using the Widget API code directly from codex, my constructor looks like this:

    		function __construct() {
    			parent::__construct(
    				'some_widget',
    				esc_html__( 'Some Widget', 'text-domain' ),
    				array( 'description' => esc_html__( 'A Widget', 'text-domain' ) )
    			);
    		}

    Yet if I check for rows like this:

    if ( have_rows( 'featured_pages_widget', 'widget_some_widget' ) ) :

    I get nothing. But if I add -2

    if ( have_rows( 'featured_pages_widget', 'widget_some_widget-2' ) ) :

    It works fine. Any ideas?

  • I ended up figuring this out on my own, and without a filter as described in the docs. In my case, I was using the widget API ‘foo’ example from codex. if you are following along and have similar issues use:

    $args[‘widget_id’]

    As the widget id. It wants the id of the instance, not just the widget itself. A fuller example using a repeater:

    
    		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'];
    			}
    			if ( have_rows( 'some_fields', 'widget_' . $args['widget_id'] ) ) {
    	while ( have_rows( 'some_fields', 'widget_' . $args['widget_id'] ) ) {
             the_row();
             // do stuff in here
            }
    
    }
    			echo $args['after_widget'];
    		}
Viewing 2 posts - 1 through 2 (of 2 total)

The topic ‘Widgets – ACF adding -2 to the end of widget ID’ is closed to new replies.