Suchen Icon verzogen | ProjectDMC.org Deutsch

[ad_1]

Hatte den Tipp hier im Forum erhalten …

Wir schreiben aber auch immer wieder, dass du entweder ein Child-Theme verwenden oder Funktionen z.B. mit dem Plugin Code Snippets einbinden sollst. Wie auch immer – niemals Änderungen im WordPress Core und Änderungen im Theme nur, wenn du künftige Updates ausschließen kannst. (Selbst dann solltest du aber Änderungen im (Parent-)Theme vermeiden, weil das sonst schnell unübersichtlich wird.)

Nochmal auf Anfang

Warum? Ich hatte dir den Lösungsweg doch bereits beschrieben. Wieso gehst du darauf nicht ein?

Wenn eben diese Suche ein Ergebnis liefert, kommt danach das Suchfeld NICHT mehr.

Das ist so von den Entwicklern des Themes konzipiert worden. Ich kürze hier einmal den Code des Template search.php, das für die Ausgabe der Suchergebnisse zuständig ist, auf das Wesentliche ein:

if ( have_posts() ) :
  while ( have_posts() ) :
    the_post();
      get_template_part( 'template-parts/post/content', 'excerpt' );
  endwhile; // End the loop.
  the_posts_pagination();

else :
  get_search_form();
endif;

Als Pseudocode ausgedrückt heißt das:

Wenn es zur (Such-)Abfrage Beiträge gibt, dann starte eine Schleife, die jeden Beitrag ausgibt. Verwende dabei den Template-Teil content-excerpt.php, um die Beiträge als Textauszug auszugeben.
Sonst rufe das Suchformular auf.

Und einzig das möchte ich geändert haben.

Du bekommst WordPress, Themes und Plugins kostenlos zur Verfügung gestellt und wenn es bei der Anwendung Probleme gibt, bieten wir dir hier auch noch kostenlos unsere Hilfe an.
Support heißt aber nicht, dass wir für jeden Anwender individuelle Anpassungwünsche umsetzen. Dafür findest du in Freelancer-Portalen Dienstleister, die für sehr wenig Geld solche Änderungen vornehmen. Denen möchten wir nicht noch ihren Lebensunterhalt nehmen.

Wie auch immer … 

Möchtest du nun, dass das Suchformular auch angezeigt wird, wenn Beiträge gefunden werden, musst du in ein Child-Theme das Template search.php kopieren und in dem if-Statement eine Zeile hinzufügen. Sinngemäß …

if ( have_posts() ) :
  while ( have_posts() ) :
    the_post();
      get_template_part( 'template-parts/post/content', 'excerpt' );
  endwhile; // End the loop.

  // Suchformular unter den Ergebnissen
  get_search_form();

  the_posts_pagination();

else :
 …

Soll das Suchformular nur angezeigt werden, wenn ein Benutzer angemeldet ist, musst du ein weiteres if-Statement hinzufügen. Pseudocode:
„Wenn der Benutzer angemeldet ist, dann zeige unterhalb der Suchergebnisse das Suchformular an.“
Sinngemäß (ich hatte den Code wegen der Lesbarkeit im Forum etwas gekürzt – du solltest das im vollständigen Template einfügen) …

if ( have_posts() ) :
  while ( have_posts() ) :
    the_post();
      get_template_part( 'template-parts/post/content', 'excerpt' );
  endwhile; // End the loop.

  /* 
   * Suchformular unter den Ergebnissen
   * nur für angemeldete Benutzer ausgeben
   */
  if( is_user_logged_in() ) {
    get_search_form();
  }

  the_posts_pagination();

else :
 …

Ein zusätzliches Problem dass sich ergibt ist, dass die Entwickler das CSS darauf abgestimmt haben, dass das Suchformular alleine auf der Seite ausgegeben wird. So, wie du es unter den Suchergebnissen eingebunden hast, überlagert das Suchformular die angezeigten Ergebnisse, weshalb die Links nicht angeklickt werden können. Dazu musst du im Stylesheet des Child-Theme noch die CSS-Regel einfügen, die ich bereits genannt hatte.

Ich habe hier eine Ausnahme gemacht, weil die Änderung nicht besonders umfangreich ist, werde aber diesen Code nicht weiter erläutern. Solltest du damit nicht zurecht kommen, poste das Problem in einem der vielen Freelancer-Portale, z.B. WordPress Jobs, Fiverr, Codeable …

[ad_2]

 

This site will teach you how to build a WordPress website for beginners. We will cover everything from installing WordPress to adding pages, posts, and images to your site. You will learn how to customize your site with themes and plugins, as well as how to market your site online.

Buy WordPress Transfer