Created
September 5, 2020 04:43
-
-
Save topleague/d527444f445b9c0b0ae76a08102e9b8e to your computer and use it in GitHub Desktop.
Create a Search Form under Entry Title in Genesis
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//* STEP #1: ADD EXCERPT SUPPORT TO PAGES | |
add_post_type_support( 'page', 'excerpt' ); | |
//* Output Excerpt on Pages | |
add_action( 'genesis_meta', 'lwp_page_description_meta' ); | |
//* STEP #2: REPLACE DEFAULT ENTRY HEADER WITH EXCERPT | |
function lwp_page_description_meta() { | |
//* If it's a singular page, apply page description | |
if ( is_singular() && is_page() && has_excerpt() ) { | |
remove_action( 'genesis_entry_header', 'genesis_do_post_title' ); | |
add_action( 'genesis_after_header', 'lwp_open_after_header', 5 ); | |
add_action( 'genesis_after_header', 'lwp_add_page_description', 10 ); | |
add_action( 'genesis_after_header', 'lwp_close_after_header', 15 ); | |
} | |
//* If it's the blog page, apply page description | |
if ( is_home() && has_excerpt() ) { | |
add_action( 'genesis_after_header', 'lwp_open_after_header', 5 ); | |
add_action( 'genesis_after_header', 'lwp_add_page_description', 10 ); | |
add_action( 'genesis_after_header', 'lwp_close_after_header', 15 ); | |
} | |
} | |
function lwp_open_after_header() { | |
echo '<div class="after-header"><div class="wrap">'; | |
} | |
function lwp_close_after_header() { | |
echo '</div></div>'; | |
} | |
//* STEP #3: ADD A SEARCH FOROM BELOW EXCERPT TITLE ON BLOG HEADER | |
function lwp_add_page_description() { | |
//* If it's a singular page, add page-description class, a page title and then the page excerpt | |
if ( is_singular() && is_page() && has_excerpt() ) { | |
echo '<div class="page-description">'; | |
echo '<h1 itemprop="headline" class="page-title">' . get_the_title() . '</h1>'; | |
echo '<p>' . get_the_excerpt() . '</p></div>'; | |
} | |
//* If it's the blog page, add page-description class, a page title and then a search form | |
if ( is_home() && has_excerpt() ) { | |
echo '<div class="page-description">'; | |
echo '<h1 itemprop="headline" class="page-title">' . esc_attr( 'Enter your queries in the search form below to find the best answer.' ) . '</h1>'; | |
echo '<p>' . get_search_form() . '</p></div>'; | |
} | |
} | |
//* STEP #4: ENQUEUE DASHICONS (OPTIONAL) | |
//* Enqueue Dashicons | |
add_action( 'wp_enqueue_scripts', 'enqueue_dashicons' ); | |
function enqueue_dashicons() { | |
wp_enqueue_style( 'dashicons' ); | |
} | |
//* STEP #5: ADD A GLASS ICON TO YOUR SEARCH BUTTON | |
//* Customize search form input button text | |
add_filter( 'genesis_search_button_text', 'lwp_search_button_text' ); | |
function lwp_search_button_text( $text ) { | |
return esc_attr( '' ); | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment