cropped-KTWD_Logo-InkBlue-1.jpg
  • Home
  • Services
  • Pricing
  • Process
  • Projects
  • About
  • Contact

Using Widget Logic Plugin

The widget logic plugin allows you to show different content in widget areas based on rules on your WordPress Website.

It has multiple uses for example

  • showing additional navigation in a particular section of a large website.
  • adding a targeted sign up forms for particular pages and posts in a category.
  • showing the shopping cart only on product pages
  • adding affiliate links only for posts in a particular category

Here are some examples to help you add the code to the widget to have it showing only where you want it on your website.

On a particular page or pages

Single pages

Only on the front page of your website

is_front_page()

Only on particular pages

For example, the widget will display on the page with slug sample-page and on the page with slug sample-page-2

The || means or ie is page sample page or is sample page 2

is_page('sample-page') || is_page('sample-page-2')

or you can use the following

is_page(array(1,5))

is_page()  can take id’s, page names, slugs and even arrays with multiple values – see the documentation.

On all pages except a particular page

For example, this will display on all page except the page with slug sample-page (note the “!” at the beginning)

!is_page('sample-page') 

On a page and all its descendants

To display a widget on a page and all descendant pages ie child pages and child pages of child pages.
This can be useful for large websites that have complex navigation. For example to display a custom navigation menu in one section of a website.
In the following example, the widget will display on the page with id 2953 and all pages that have the page with id 2953 as its ancestor

global $post; return (in_array(2953,get_post_ancestors($post))) || (is_page('2953'));

For posts

A particular post

is_single('Welcome')

All posts with a particular tag

is_tax('tag')

In particular category page

is_category(array(5,9,10,11))

Is a single post in a category

is_single() && in_category('seo') — single post that’s in the category with this slug

On a category archive page and all single posts in that category

is_category('videos') || (is_single() && in_category('videos'))

Is a single post and in category internet marking or is a single post in category portfolio

is_single() && in_category('internet-marketing')|| is_single() && in_category('portfolio')

Is not page 1 nor 2 and not a single post with id 3 nor 4

!is_page( array( 1,2) ) && !is_single( array( 3,4) )

Show a widget on child pages, not top-level pages

global $post; return ($post->post_parent != 0);

All child pages of page 77

global $post; return (in_array(77,get_post_ancestors($post)));

For Custom Post Types

is a single post in the Custom Post Type Jetpack Portfolio

is_single()&&(get_post_type()=='jetpack-portfolio')

or

get_post_type()=='jetpack-portfolio'

For Woocommerce

Products in Woocommerce are a custom post type called product. Therefore the following would show a widget only on single product pages

is_single()&&(get_post_type()=='products')

All single product pages ie is a single post  and the custom post type is “product”

Woocommerce has its own conditional filters

is_product()

which is the equivalent of

is_single()&&(get_post_type()=='products')

On a Woocommerce Product Category page

is_product_category('clothing')

is_product_category( array( 'shirts', 'games' ) )

is_product_tag( 'shirts' )

Read More

  • More conditional tags in Woocommerce
  • WordPress documentation on Conditional Tags
  • Read here about the importance of updating WordPress, WordPress PLugins and your Theme Framework

I offer WordPress services if you need help with your WordPress site.

Get In Touch!

027 608 2001

1/1 Korau Road, Greenlane, Auckland 1051

tarnya@buildyourwebsite.co.nz

Additional Resources

  • WordPress Website Care Plans
  • Web Design for Tradies
  • Websites for Psychologists and Counsellors
  • Web Design for Charities
  • Website Pricing
  • Website Design and Build Process
  • Website Design Case Studies
  • Articles
  • Blog
  • Technical Tutorials
  • Privacy Policy
  • Terms and Conditions for Website Services
  • Website Terms and Conditions
Copyright © 2022 Kitchen Table Web Design. All Rights Reserved.