WordPress-Suche anpassen (HowTo): Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 72: | Zeile 72: | ||
== Schritt 1: Inhaltstypen aus Suche ausschließen == | == Schritt 1: Inhaltstypen aus Suche ausschließen == | ||
=== Standard-Inhaltstypen ausschließen === | === Standard-Inhaltstypen Post und Page ausschließen === | ||
* schwierig bei den Standard-Inhaltstypen oder bei Inhaltstypen die von Plugins erstellt wurden | * schwierig bei den Standard-Inhaltstypen oder bei Inhaltstypen die von Plugins erstellt wurden | ||
| Zeile 92: | Zeile 92: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Custom Post Type ausschließen === | === Custom Post Type in Plugin CPT-UI ausschließen === | ||
* einfach in den »Attributen« den Wert <code>exclude_from_search</code> auf <code>true</code> zu setzen | |||
* möglich auch via Einstellungen im Plugin "CPT-UI" | |||
=== Custom Post Type in Plugin CPT-UI ausschließen === | |||
* einfach in den »Attributen« den Wert <code>exclude_from_search</code> auf <code>true</code> zu setzen | * einfach in den »Attributen« den Wert <code>exclude_from_search</code> auf <code>true</code> zu setzen | ||
Version vom 27. April 2022, 15:36 Uhr
Allgemeines
TBD
Vorangegangene(r) Prozess(e)
Arbeitsschritte (Prozess)
Schritt 1: Benötigte Template-Dateien anlegen & einbinden
Datei für das Template der Search Results Page anlegen
- "/search.php"
<?php defined( 'ABSPATH' ) or die(); ?>
<?php get_header(); ?>
<main>
<div class="row-m">
<div style="height:80px" aria-hidden="true" class="wp-block-spacer"></div>
<?php function checkThumbnailUrl () {
$thumbnail_url = get_the_post_thumbnail_url();
if ( ! $thumbnail_url ) {
echo get_stylesheet_directory_uri() . '/assets/lpa-placeholder.png';
} else {
echo $thumbnail_url;
}
}
?>
<?php
$search_query = get_search_query();
$wp_query = new WP_Query( array('s' => $search_query) );
if ( $wp_query->have_posts() ) {
_e("<h2>Search Results for: '".$search_query."'</h2>"."<div style='height:80px' aria-hidden='true' class='wp-block-spacer'>"."</div>"."<div class='grid-1 gap-30'>");
while ( $wp_query->have_posts() ) :
$wp_query->the_post();
?>
<a href="<?php the_permalink(); ?>" style="text-decoration: none;">
<p style="text-align: right; text-transform: capitalize; margin: 0;"><?php echo get_post_type(); ?></p>
<h3><?php echo the_title(); ?></h3>
<p><?php the_excerpt(); ?></p>
</a>
<?php
endwhile;
_e("</div>");
} else { ?>
<h2>Nothing Found</h2>
<div class="alert alert-info">
<p>Sorry, but nothing matched your search criteria. Please try again with some different keywords.</p>
</div>
<?php } ?>
<div style="height:160px" aria-hidden="true" class="wp-block-spacer"></div>
</div>
</main>
<?php get_footer(); ?>
Datei für Funktionen der Suche
- php/results.php
- in functions.php
include 'php/results.php';
Schritt 1: Inhaltstypen aus Suche ausschließen
Standard-Inhaltstypen Post und Page ausschließen
- schwierig bei den Standard-Inhaltstypen oder bei Inhaltstypen die von Plugins erstellt wurden
- man kommt nicht ohne weiteres an den Code ran
- folgende Code-Snippet in functions.php schreiben und den Slug des auszuschließenden Inhaltstypen verändern
//exclude posts and pages from search results
function kb_exclude_from_search($post_type){
global $wp_post_types;
$wp_post_types['page']->exclude_from_search = true;
add_post_type_support( 'page', 'page-attributes' );
$wp_post_types['post']->exclude_from_search = true;
add_post_type_support( 'post', 'post-attributes' );
}
add_action('registered_post_type', 'kb_exclude_from_search', 10, 2 );
Custom Post Type in Plugin CPT-UI ausschließen
- einfach in den »Attributen« den Wert
exclude_from_searchauftruezu setzen - möglich auch via Einstellungen im Plugin "CPT-UI"
Custom Post Type in Plugin CPT-UI ausschließen
- einfach in den »Attributen« den Wert
exclude_from_searchauftruezu setzen - möglich auch via Einstellungen im Plugin "CPT-UI"
Schritt 2: TBD
TBD
Schritt 3: TBD
TBD
FAQ
Frage 1
TBD
Troubleshooting
Lösung 1
TBD
Nachfolgende(r) Prozess(e)
TBD via Verlinkung zu anderem(n) HowTo(s)