This quick tutorial will help you configure and place a pop-out search bar to the sidebar of your site using a custom code – allowing inclusion or exclusion from specific pages.
For generic use please check the Compact Box Layout documentation (includes a video tutorial).
Make sure to enable the compact box layout mode under the Layout Options -> Compact box layout panel. For this tutorial I recommend the following configuration:
Compact layout final width: 320px
Compact search box position: fixed (or absolute may also work)
Add this custom code to the functions.php in your theme/child theme directory (copy from line 3 only!). Before editing, please make sure to have a full site back-up just in case!
Adjustable variables within the code (lines 7-17):
$id -> the search instance ID
$exclude_on_pages -> list of page IDs, where the search should not be visible. Leave it empty, if not in use.
$include_on_pages -> list of page IDs, where the search should be visible. Leave it empty, if not in use.
$exclude_on_archives -> true or false. If true, then then the search will not be visible on post type archives.
$exclude_on_tax_archives -> list of taxonomies. The search will not be visible on listed taxonomy archive pages.
$exclude_on_front -> true or false. If true, the search will not be visible on the front page.
What is this, and where do I put this custom code?
add_action('wp_footer', 'asp_insert_sc_to_footer', 99999);function asp_insert_sc_to_footer() {// Replace this with the search ID you want to use$id = 1;// Comma separated list of Pages (or any CPT) where the search should be excluded. Leave it empty to ignore.$exclude_on_pages = '1, 2, 3';// Comma separated list of Pages (or any CPT) where the search should be excluded. Leave it empty to ignore.$include_on_pages = '';// Exclude on archive pages?$exclude_on_archives = false;// Exclude on category (or any taxonomy) archive pages. Comma separated list of taxonomies.$exclude_on_tax_archives = 'category, tag';// Should it be visible on the front page? true or false$exclude_on_front = false;// -------- DO NOT TOUCH BELOW ----------if ( is_front_page() && $exclude_on_front )return false;if ( is_archive() && $exclude_on_archives )return false;$eta = array_filter( explode(",", str_replace(' ', '', $exclude_on_tax_archives)), 'strlen' );foreach ( $eta as $_eta ) {if ( ($_eta == 'tag' || $_eta == 'post_tag') && is_tag() )return false;if ( $_eta == 'category' && is_category() )return false;if ( is_tax($_eta) )return false;}$epa = array_filter( explode(",", str_replace(' ', '', $exclude_on_pages)), 'strlen' );$ipa = array_filter( explode(",", str_replace(' ', '', $include_on_pages)), 'strlen' );$pid = get_the_ID();if ( !is_wp_error($pid) ) {if ( in_array($pid, $ipa) || !in_array($pid, $epa) ) {echo do_shortcode('[wd_asp id='.$id.']');}} else {echo do_shortcode('[wd_asp id='.$id.']');}}