• Resolved mattspace

    (@mattspace)


    Hi,

    I’ve looked high and low, and I’m sure there’s a solution, but I just can’t get the vocabulary of the question correct to find the answer, so…

    I want to create a menu item that links to a category, but excludes one particular child category, and all of that excluded category’s child categories & posts.

    I already have ?orderby=date&order=asc appended to some of my Custom Links to control the order of posts displayed when a specific menu item is used, so I’m assuming I can do something similar to filter included and excluded categories, I just can’t find the specifics to achieve something like:

    https://www.thedomain.com/category/thisCategoryWeWant/?(something to exclude a category and its children by name or ID)

    Ideally I don’t want to be going into function.php etc, so foremost, can it be done with just the correctly crafted url?

    thanks.

Viewing 6 replies - 1 through 6 (of 6 total)
  • AFAIK, this can not be done via custom queries in the url. Since the job requirement is to not display a specific child category (along with its own child) from the menu, we can easily do that via CSS’s display none.

    Inspect the element targeting that particular child category ID, and display:none it, the page will not display this category along with its children.

    Thread Starter mattspace

    (@mattspace)

    I’m not sure if CSS is the appropriate solution – surely that’s going to just end up with an empty webpage page, with 10 non-displaying posts. I’m not trying to suppress display of a post, I want to prevent the posts being included in the loop when the page is constructed.

    eg I have in category hierarchy:

    blog
    -diary
    —2020
    —2019
    -reviews
    -essays

    Right now, when I hit a link to blog, all the diary entries are included as well. I want to craft a url that i can put into a custom link, which will display the blog category posts (everything in blog, reviews, & essays and any other sub-category in blog), but not the diary, or child of diary category posts.

    Otherwise I’m going to have to move the diary category out of the blog category hierarchy, just to be able to get a menu that offers an “everything BUT diary” option.

    • This reply was modified 3 years, 10 months ago by mattspace.
    • This reply was modified 3 years, 10 months ago by mattspace.

    Hi, @mattspace

    As you can see here, category__not_in is not a public query, and therefore it can’t be used in the URL querystring.

    I’m going to have to move the diary category out of the blog category hierarchy, just to be able to get a menu that offers an “everything BUT diary” option.

    This is the easiest non-coding solution.

    If you are comfortable with a bit of coding or you can find a developer (not on these forums!) that can do that for you, I suggest creating a page template that contains a custom loop that includes the desired category and excludes the other category.

    Kind regards.

    Thanks @vladytimy for chiming in. @mattspace Now obviously I misunderstood the OP. I thought we are talking about the menu items, so my answer catered to that.

    To alter the main archive/blog (posts listing) page to exclude some categories, I’d suggest using a plugin, this one is for example, but you can find many others in the plugin repo that do the same thing.
    https://www.ads-software.com/plugins/ultimate-category-excluder/

    Thread Starter mattspace

    (@mattspace)

    Thanks folks – sounds like the easiest option is going to be to rearrange my category hierarchy.

    It’s a shame that the menu system doesn’t have a boolean operator function for creating Custom Links, or for the Category link feature.

    cheers,

    @mattspace FWIW you can keep your current structure, it’s manageable. Use exclude-category plugin to remove that sub categories from the post listing (archive) page. For menu items, just use CSS display:none targeting the sub category, or manually putting in category archive links anyway we want.

Viewing 6 replies - 1 through 6 (of 6 total)
  • The topic ‘Custom Link for Menu to exclude child category’ is closed to new replies.