Forum Replies Created

Viewing 6 replies - 1 through 6 (of 6 total)
  • Thread Starter Lane

    (@laned69)

    Follow up. This issue was resolved via email support. A version with a fix was emailed to me and will be incorporated into a new public update.

    Thank you Hessel

    Thread Starter Lane

    (@laned69)

    Thanks for getting back with me.

    I converted the engine from MyISAM to InnoDB for all the existing wp_burst tables. I could not convert the wp_burst_statistics table because it doesn’t exist.

    I used the Collation Fix plugin and got all the wp_burst tables in utf8mb4_unicode_ci format. Previously they were in utf8mb4_unicode_520_ci format.

    I deactivated and reactivated the Burst plugin.

    Still was not working. I was still getting the “table does not exist” errors in debug.log.

    I uninstalled and reinstalled the Burst plugin. When it got reinstalled, the tables were in MyISAM and old collation. So I ran the SQL and got them to InnoDB again, but I don’t know how to make the collation plugin do it’s thing again. Plugin notes say it runs once a day.

    Even though the collation is currently utf8mb4_unicode_520_ci, I don’t think changing the engine and collation solved the problem.

    What should I do next?

    Here’s a link to my debug.log:

    https://www.dropbox.com/scl/fi/xbhaux4m4hwp73zjoxna7/debug.log?rlkey=zunxpbtiy8ki5tg5tufhicslc&dl=0

    Thread Starter Lane

    (@laned69)

    Thanks for your reply.

    I am on the latest version, 4.0.1.

    I am trying to make a “calendar” page where each month’s block shows posts from 3 custom post types that start within that month. Posts have meta field that stores the start date. I have multiple AQL blocks on the page that are all the same except the dates within the meta value.

    Here is the code view of the AQL block for January.

    <!-- wp:query {"queryId":0,"query":{"perPage":10,"pages":0,"offset":0,"postType":"lws_exhibition","order":"asc","orderBy":"meta_value","author":"","search":"","exclude":[],"sticky":"","inherit":false,"parents":[],"format":[],"include_posts":[],"meta_query":{"queries":[{"id":"0b4ac9bc-6df0-4506-b9fb-58ee978f1b1d","meta_key":"lws_exhibition-start-date","meta_value":"2025-01-01,2025-01-31","meta_compare":"BETWEEN"},{"id":"f16c2733-e941-4464-a02e-4bb99e20bdfa","meta_key":"lws_workshop-start-date","meta_value":"2025-01-01,2025-01-31","meta_compare":"BETWEEN"},{"id":"5c79945a-3582-43f9-b164-2ac1adf9d4ed","meta_key":"lws_event-start-date","meta_value":"2025-01-01,2025-01-31T23:59:59","meta_compare":"BETWEEN"}],"relation":"OR"},"multiple_posts":["lws_workshop","lws_event"],"date_query":"","disable_pagination":true},"namespace":"advanced-query-loop"} -->

    Here is what the March query looks like on the front end (from Query Monitor plugin). You can see that one of the post_type is empty. This is what happens for all queries except January

    SELECT wp_xxx_posts.ID
    FROM wp_xxx_posts
    INNER JOIN wp_xxx_postmeta
    ON ( wp_xxx_posts.ID = wp_xxx_postmeta.post_id )
    WHERE 1=1
    AND ( ( wp_xxx_postmeta.meta_key = 'lws_exhibition-start-date'
    AND wp_xxx_postmeta.meta_value BETWEEN '2025-03-01'
    AND '2025-03-31' )
    OR ( wp_xxx_postmeta.meta_key = 'lws_workshop-start-date'
    AND wp_xxx_postmeta.meta_value BETWEEN '2025-03-01'
    AND '2025-03-31' )
    OR ( wp_xxx_postmeta.meta_key = 'lws_event-start-date'
    AND wp_xxx_postmeta.meta_value BETWEEN '2025-03-01'
    AND '2025-03-31T23:59:59' )
    OR ( wp_xxx_postmeta.meta_key = 'lws_exhibition-end-date'
    AND wp_xxx_postmeta.meta_value BETWEEN '2025-03-01'
    AND '2025-03-31' ) )
    AND ((wp_xxx_posts.post_type = ''
    AND (wp_xxx_posts.post_status = 'publish'))
    OR (wp_xxx_posts.post_type = 'lws_event'
    AND (wp_xxx_posts.post_status = 'publish'
    OR wp_xxx_posts.post_status = 'private'))
    OR (wp_xxx_posts.post_type = 'lws_workshop'
    AND (wp_xxx_posts.post_status = 'publish'
    OR wp_xxx_posts.post_status = 'private')))
    GROUP BY wp_xxx_posts.ID
    ORDER BY wp_xxx_postmeta.meta_value ASC
    LIMIT 0, 10

    Let me know if you need anything else.

    Thank you so much for looking into this.

    Lane

    (@laned69)

    I’ll second this.

    I am also getting the same error on two different websites. Debug log shows it started with the last plugin update to 5.1.7.

    Here is my workaround.

    I typed the word “todays_date” in the Meta Value field in the Post Meta Query section of the AQL block settings. Then I added the following code in my theme’s functions.php file. It basically looks at what has been typed in, and if it is “todays_date”, then it changes it to the numerical date by using the date() function.

    function change_query_date_value( $query_args, $block_query, $inherited ) {
    	if ( isset( $query_args['meta_query'] ) && ! empty( $query_args['meta_query'] ) ) {
    		
    		if ( $query_args['meta_query'][0]['value'] == 'todays_date' ) { $query_args['meta_query'][0]['value'] = date('Ymd'); }
    	
    	}
    	return $query_args;
    }
    add_filter( 'aql_query_vars', 'change_query_date_value', 10, 3 );
    Thread Starter Lane

    (@laned69)

    I discovered two problems for me: neither the ACF meta_key nor the meta_value were being inserted into the query.

    It appears that ACF is not registering the custom fields as post meta. I had to write a simple function to do that. Perhaps you might not have this problem.

    I am fine with that but the next part is kinda ugly. I added one line of code to the AQL plugin file query-loop.php. This is not ideal or recommended as any updates to the plugin may overwrite, requiring the line of code to be re-added or no longer work. Inside the foreach loop on line 23 I added:

    if ( $query['meta_value'] == "todays_date" ) { $query['meta_value'] = date( 'Ymd' ); };

    Then, in the query loop block settings I put “todays_date” as the meta_value.

    This works, but is not “proper”. And I’m sure the plugin author will have a much better way to do it.

    UPDATE: After updating to 1.4.1, I re-added same line of code and it still works.

Viewing 6 replies - 1 through 6 (of 6 total)