Lesefortschritt:

Divi-Projects in die Suche einbeziehen

2. Januar 2022 | Divi-Theme

Trick # 131 | Dieser Beitrag beinhaltet 399 Wörter. – Geschätzte Lesezeit: ca. 2 Minuten.

Das Divi-Theme bietet ein Suchmodul, welches jedoch nicht alle Post-Types in die Suche miteinbezieht. Die Divi-eigenen Projects etwa werden bei der Suche nicht berücksichtigt. Dies zu ändern, ist jedoch ein Kinderspiel.

Kopieren Sie den folgenden Code in die Datei functions.php Ihrer Word­Press-Website:

function my_remove_default_et_pb_custom_search() {
remove_action( 'pre_get_posts', 'et_pb_custom_search' );
add_action( 'pre_get_posts', 'my_et_pb_custom_search' );
}
add_action( 'wp_loaded', 'my_remove_default_et_pb_custom_search' );
 
function my_et_pb_custom_search( $query = false ) {
if ( is_admin() || ! is_a( $query, 'WP_Query' ) || ! $query->is_search ) {
return;
}
if ( isset( $_GET['et_pb_searchform_submit'] ) ) {
$postTypes = array();
if ( ! isset($_GET['et_pb_include_posts'] ) && ! isset( $_GET['et_pb_include_pages'] ) ) $postTypes = array( 'post' );
if ( isset( $_GET['et_pb_include_pages'] ) ) $postTypes = array( 'page' );
if ( isset( $_GET['et_pb_include_posts'] ) ) $postTypes[] = 'post';
 
/* BEGIN Add custom post types */
$postTypes[] = 'project';
/* END Add custom post types */
 
$query->set( 'post_type', $postTypes );
if ( ! empty( $_GET['et_pb_search_cat'] ) ) {
$categories_array = explode( ',', $_GET['et_pb_search_cat'] );
$query->set( 'category__not_in', $categories_array );
}
if ( isset( $_GET['et-posts-count'] ) ) {
$query->set( 'posts_per_page', (int) $_GET['et-posts-count'] );
}
}
}

Das war’s schon. Ihre Projects werden ab sofort auch über das Divi-Suchmodul gefunden.

Zusatztipp: Nach weiteren Post-Types suchen

Wenn Sie weitere Post-Types über das Divi-Suchmodul auffinden möchten, dies aber nicht gelingen will, beachten Sie im obigen Code die Zeilen 17-19. Dort ist im Moment nur der Post-Type «project» aufgeführt. Sie können da aber natürlich ganz einfach weitere Post-Types aufführen, welche vom Divi-Suchmodul ebenfalls erfasst werden sollen.

Werbung

Keine Inhalte gefunden.

Werbung

 

Pin It on Pinterest

Share This
Überblick über den Datenschutz

Diese Website verwendet Cookies, damit wir Ihnen die bestmögliche Benutzererfahrung bieten können. Cookie-Informationen werden in Ihrem Browser gespeichert und dienen dazu, Sie wiederzuerkennen, wenn Sie auf unsere Website zurückkehren, und unserem Team zu helfen, zu verstehen, welche Bereiche der Website Sie am interessantesten und nützlichsten finden.