• Resolved juliamb

    (@juliamb)


    Hi!
    The plugins is not working correctly with the Astra theme v.4 and beyond. I tested in a clean website, just with Astra theme, Buddypress and your plugin, to make sure it was not another plugin’s issue, and when I try to add a new document to a group, there is an infinite loop and nothing happens…

    So I guess something is not working with Astra 4; I’ve talked to the Astra support and they verify there is some incompatibility and told me to come to your support.

    Could you check this out, pleas?

    Thanks in advance, regards!

Viewing 3 replies - 1 through 3 (of 3 total)
  • Plugin Author David Cavins

    (@dcavins)

    Hi, yes, that is really broken. Astra for some reason isn’t respecting the archive view for BP Docs (it’s not using the provided template parts). Single docs can be viewed and even edited, but the archive section (seeing the docs library and creating new docs) is totally steamrolled by the theme.

    I’ll look more into it if time allows but I don’t want to offer false hope–I don’t have a ton of time for troubleshooting themes.

    Thanks!

    Plugin Author Boone Gorges

    (@boonebgorges)

    Hi all – I took a look and I found the issue. It appears to be a bug in Astra. Here’s the problematic line (470):

    https://themes.trac.wordpress.org/browser/astra/4.6.15/inc/blog/blog.php?marks=470#L458

    Astra calls have_posts(), which causes WordPress to increment its internal counter. This kicks off a weird cycle where the loop keeps running over and over again. It’s likely that this was never noticed because most WP content (custom post types, etc) will trigger one of the if clauses earlier in the function.

    The Asana folks should instead use some other check for whether there are posts on the current view. Something like this would work:

    if ( empty( $description ) && empty( $GLOBALS['wp_query']->posts ) ) {

    though perhaps they’d like to do something more elegant than that 🙂

    In the meantime, here’s a workaround that you can implement in your own child theme, or some other place where you put PHP snippets on your site:

    
    add_filter(
    	'get_the_archive_description',
    	function( $description ) {
    		if ( ! is_post_type_archive( 'bp_doc' ) ) {
    			return $description;
    		}
    
    		return 'Docs directory';
    	}
    );
    

    This is *not* a fix for the underlying problem – which, as described above, is a bug in Astra – but it should get your site working properly with Docs.

    Plugin Author David Cavins

    (@dcavins)

    Thanks, Boone! I was just starting to work backwards into the Astra archive view, and the theme is fairly complicated to follow. I’m glad you found the issue. 🙂

Viewing 3 replies - 1 through 3 (of 3 total)
  • You must be logged in to reply to this topic.