Support » Plugin: Breadcrumb NavXT » Subcategory ‘England’ not showing, but other countries do!

  • A very strange problem.

    I have bike route pages with subcategories England, Scotland and Wales. Here are examples:

    http://e2e.bike/end-to-ends/britain-9-haydon-bridge-to-holy-island/
    (England)
    http://e2e.bike/end-to-ends/britain-14-stranraer-to-kirkmaiden-to-stranraer/
    (Scotland)

    Scotland (and other countries such as Wales) show in the breadcrumb trail… but England doesn’t. I’ve tried erasing that category and recreating it – still doesn’t show. If I rename a different category as England that doesn’t show. If I create a category called England it doesn’t show, but if I rename it as a different country, it shows.

    I can’t see a problem in WordPress itself, which handles all these categories OK. The problem seems to occur only when NavXT displays the breadcrumb trail.

    The only solution I could find is to rename my England category as .England, with that initial full stop. That works.

    What’s going on? Why does NavXT block England but not Scotland? I live in England, and I know it’s not perfect, but it’s quite a nice country.

    Thanks!

    Rob Ainsley
    York, England

    The page I need help with: [log in to see the link]

Viewing 4 replies - 1 through 4 (of 4 total)
  • Plugin Author John Havlik

    (@mtekk)

    By chance are you making the post an explicit member of multiple categories within the same category hierarchy (e.g. of England and LEJOG 2013)? If so, that’s likely the problem. It is a best practice to only set a post to be the explicit member of the deepest category (or term) in a hierarchy, it will automatically be an implicit member of all of the parent categories of said category (WordPress automatically handles the implicit membership of parent categories/terms, and is one of the main features of having a hierarchical taxonomy).

    Thread Starter robainsley

    (@robainsley)

    Hi John – thanks for the quick reply.

    I’m afraid it’s far, far more mysterious than that! My categories are unique and not ambiguously branched, so it’s not that.

    If I rename the England category, it sometimes shows in the breadcrumb trail, and sometimes doesn’t. Below are some examples. Norway and Sweden are OK, but not Denmark; France and Italy are OK, but not Spain; North and South Korea are OK, but not Japan. None of these are categories mentioned anywhere else, so it’s not confusing them with anything elsewhere on the website.

    I can’t see any conflict between widgets either – I only have about four widgets added on, a couple for selecting recent and random posts, a contact form widget, and NavXT. My website uses the Minimalist Blogger theme.

    I can’t see any pattern below – I’m utterly stumped!

    CATEGORY DOES NOT SHOW IF RENAMED AS…
    England
    Englande
    Exqzxjlnd
    Exqzxjlny
    Egnaldn
    Fngland
    ENGLAND
    England England England
    Dnalgne
    Denmark
    France
    Italy
    Japan

    BUT CATEGORY DOES SHOW IF RENAMED AS…
    .England
    xEngland
    Wales
    Norway
    Sweden
    Spain
    South Korea
    North Korea
    Albion
    Olde Englande
    The People’s Republic of Yorkshire
    Mxyzptlk

    …??????

    Plugin Author John Havlik

    (@mtekk)

    Try the following:

    1. Change the England category title back to England
    2. Go to the edit screen for the Britain 9: Haydon Bridge to Holy Island post
    3. In the side bar, uncheck all categories other than England
    4. Save/update the post
    5. Visit the page

    When you do that, does England show up in the breadcrumb trail?

    It is very unlikely that this would be a widget, or even category name thing. It is almost certainly a post being an explicit member of multiple categories in the same hierarchy.

    If the name seems to affect whether or not the category shows up, that means the order the term is returned by get_the_terms matters. Which if that’s the case, the behavior of Breadcrumb NavXT needs to be taken into account. When a post is an explicit member of multiple terms within the same taxonomy, Breadcrumb NavXT will use the first term returned by get_the_terms that has a parent term. So, if you affect the order how the terms are returned by get_the_terms (e.g. by changing the name) you can affect what Breadcrumb NavXT uses in the breadcrumb trail. This behavior, in the past, was used by the Order Bender plugin to set a preferred term (however, there now exists a filter that is more reliable and only affects Breadcrumb NavXT). The best solution is to only have posts be an explicit member of a single category.

    Thread Starter robainsley

    (@robainsley)

    Yes, that indeed works as you suggested.

    So the lesson is, when you assign a post to a nested subcategory, you don’t tick the box for all the parent categories – only the last one down the chain.

    Thanks!

    • This reply was modified 1 month ago by robainsley.
    • This reply was modified 1 month ago by robainsley.
    • This reply was modified 1 month ago by robainsley.
Viewing 4 replies - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.