Verwenden Sie die erstellte Seite als Suchergebnisseite und benutzerdefinierte Vorlage

Ich möchte, dass mein Klient Kontrolle über das Aussehen der Suchergebnisseite hat, indem er in der Lage ist, eine der Templates auszuwählen, die ich für sie erstellt habe (page-two-column.php oder page-three-column.php), damit sie sich ändern können Elemente wie Bannerbilder etc.

Also habe ich eine neue Seite im WP Dashboard namens Search-Results erstellt, die folgende mysite.com/search-results/ zurückgibt

Standardmäßig erstellt WordPress eine URL wie diese mysite.com/?s=product

Nachdem ich mir einige Beispiele und den Codex angeschaut habe, bin ich auf diesen Codeschnipsel gestoßen, von dem ich dachte, er würde tun, wozu ich ihn brauche.

// Use the two column template as the search result. add_action('template_include', 'new_search_tmpl'); function new_search_tmpl( $template ) { if ( is_search() ) { $t = locate_template('page-two-column.php', false); if ( ! empty($t) ) $template = $t; } return $template; } 

Dann überprüfe ich in der page-two-column.php, ob wir Suchergebnisse wie diese anfordern.

   <a href="https://wordpress.stackexchange.com/questions/144043/use-created-page-as-search-results-page-and-custom-template/">  

Was von der ursprünglichen search.php Seite kommt, möchte ich überschreiben.


BEARBEITEN Weitere Tests zeigen, dass es tatsächlich die Zwei-colors-Vorlage verwendet, die großartig ist, aber ich brauche es immer noch, um das Bannerbild von der Suchergebnisseite, die ich erstelle, zu ziehen.

Ich bin jetzt in der Lage, das Suchergebnis-Bild in die Suchseite mit dem folgenden Code zu ziehen:

  

Solutions Collecting From Web of "Verwenden Sie die erstellte Seite als Suchergebnisseite und benutzerdefinierte Vorlage"

Das hat endlich für mich funktioniert.

Um das Bannerbild von einer anderen Seite zu übernehmen, erstellen Sie die Suchergebnisseite in WordPress und stellen Sie sicher, dass es von den Suchergebnissen ausgeschlossen wird, indem Sie das Suchausschluss-Plug-in verwenden. Fügen Sie dann Ihr vordefiniertes Bild hinzu und benutzerdefinierte Spaltenvorlage:

 < ?php if (is_search()) { $attachment_id = 1711; // attachment ID $image_attributes = wp_get_attachment_image_src( get_post_thumbnail_id($attachment_id), 'full' ); // returns an array if( $image_attributes ) { ?> 
< ?php }?> < ?php }?>

So erzwingen Sie, dass WordPress die zweispaltige benutzerdefinierte Vorlage als Suchergebnisseite verwendet:

  < ?php if (is_search()): ?> 
< ?php endif ?>