• Resolved Joe

    (@sabbathbreaker)


    Hi, I have another problem here, when I inserted the page it inserted the breadcrumb as well, how to disabled it. I have this code in my functions.php

    add_action( 'loop_start', 'wordpress_seo_plugins_breadcrumbs' );
    function wordpress_seo_plugins_breadcrumbs() {
    if ( function_exists('yoast_breadcrumb') ) {
    	yoast_breadcrumb('<p id="breadcrumbs">','</p>');
    	}
    }

    https://www.ads-software.com/plugins/insert-pages/

Viewing 2 replies - 1 through 2 (of 2 total)
  • Plugin Author Paul Ryan

    (@figureone)

    Since you’re hooking into loop_start, that breadcrumb will get printed every time there’s a loop. Insert Pages uses a loop to insert a page.

    It’s probably better to call yoast_breadcrumb() from within your theme’s template files instead of hooking into loop_start. But if you don’t want to change that code, I think you can use a global variable to detect when you’re in an Insert Pages loop as opposed to any other loop.

    Here’s a quick example (might include errors):

    function your_theme_init() {
      add_filter( 'insert_pages_apply_nesting_check', function ( $should_apply ) { global $in_insertpages_loop; $in_insertpages_loop = true; return $should_apply; } );
    }
    add_action( 'init', 'your_theme_init' );
    
    function wordpress_seo_plugins_breadcrumbs() {
      global $in_insertpages_loop;
      if ( function_exists( 'yoast_breadcrumb' ) && ! $in_insertpages_loop ) {
        yoast_breadcrumb( '<p id="breadcrumbs">', '</p>' );
      }
      $in_insertpages_loop = false;
    }
    Thread Starter Joe

    (@sabbathbreaker)

    thanks but the code doesn’t work. i have inserted below the header as you suggested and fixed the issue.

Viewing 2 replies - 1 through 2 (of 2 total)
  • The topic ‘Insert page with breadcrumb’ is closed to new replies.