Setzen Sie zwei Themen zusammen, um eine vollständige Website zu erstellen

Ich kenne mich in WP wohl als Zwischennutzer aus. In naher Zukunft werde ich das Design einer Vorlage von einem ganz anderen Thema in ein Thema integrieren müssen, das ich gerade verwende. Die Idee ist, das Aussehen der Titelseite eines Themas gleich zu halten und das Design der regulären Blog-Post-Seiten eines anderen Themas zu verwenden – und sie gewissermaßen zusammen zu hacken.

Meine Frage ist die folgende: Wäre die beste Vorgehensweise folgende:

  1. Definieren Sie eine neue Vorlagenseite in dem bereits vorhandenen Design und kopieren Sie den Code von der Vorlagenseite des anderen Designs in das Design.

  2. Suchen Sie nach zugehörigen Dateien (z. B. header.php / footer.php, benennen Sie sie um, damit sie nicht mit den bereits vorhandenen Dateien des Themas interferieren), kopieren Sie sie und ändern Sie dann die Namen der Links auf der Vorlagenseite entsprechend;

  3. Natürlich kopieren Sie das Stylesheet, JS und alle damit verbundenen Bilder.

Oder gibt es einen besseren Weg, dies zu tun?

Danke vielmals.

Solutions Collecting From Web of "Setzen Sie zwei Themen zusammen, um eine vollständige Website zu erstellen"

Denke nochmal nach

Ich muss damit beginnen, dass dies eine wirklich merkwürdige Idee zu sein scheint. Eine Titelseite zu haben, die sich vom Rest der Seite völlig unterscheidet, wird viele Erwartungen der Benutzer brechen und Verwirrung stiften. Sind es wirklich zwei völlig unterschiedliche Themen oder wollen Sie nur ein individuelles Layout auf der Titelseite? Wenn das letztere, ehrlich gesagt, könnte eine benutzerdefinierte Implementierung einfacher sein. Dies ist insbesondere der Fall, wenn erweiterte Designoptionen oder Metaboxen zum Verwalten der Startseite verwendet werden. Ich werde mich hier nur an die Front-End-Probleme halten, da dies das einzige ist, was ich mir sicher vorstellen kann. Aber nehmen wir an, dass es nicht ist.

Kopieren Sie alle notwendigen Vorlagen

Ich würde das Non-Home-Thema als Hauptthema verwenden und die Front dort integrieren. So, vom “Titelseitenthema” bestimmen Sie, welche Akten Sie einschließen müssen. Wenn es eine front-page.php (vorausgesetzt, Sie verwenden eine statische Titelseite), kopieren Sie das. (Speichern Sie die alte Titelseite unter einem neuen Namen, falls es einen gibt.) front-page.php in der neuen Datei front-page.php , was mit include() , require() , get_template_part() , get_sidebar() , get_footer() usw. Kopieren Sie alle Dateien vom Titelseiten-Theme in Ihr neues Theme. sidebar-front.php für alle diese Dateien ein Suffix ein (z. B. sidebar-front.php , header-front.php ). Abschließend in der kopierten front-page.php functionen ändern, um die suffixed Version zu verwenden (zB get_sidebar( 'front' ) )

Laden Sie Skripte und Styles bedingt

Jetzt laden Sie in der Datei functions.php Ihres Hauptthemas die benötigten Skripte und Stile auf die richtigen Seiten. Kopieren Sie alle Skripts und Stylesheets, von denen Sie wissen, dass sie auf dem Titelseitenthema verwendet werden. Suffix-Thema erneut, um sicherzustellen, dass es keine Überlappung gibt.

wp_enqueue_scripts() jetzt bedingte wp_enqueue_scripts() und wp_enqueue_styles() , um Ihre Stylesheets zu laden. Wenn die header.php die Stylesheets verbindet, löschen Sie diese Zeilen. Ihr Code sieht etwa so aus:

 function wpse_58889() { if( is_front_page() ) { wp_enqueue_style( 'style_front', get_template_directory_uri() . 'style-front.css' ); } else { wp_enqueue_style( 'style_front', get_template_directory_uri() . 'style.css' ); wp_enqueue_script( ...... ); } } add_action( 'wp_enqueue_scripts', 'wpse_58889' ); 

In diesem Schritt werden alle vorhandenen Stile und Skripte, die in der functions.php des Hauptthemas in die Warteschlange gestellt wurden, in diese Bedingungen verschoben, damit sie nicht mit anderen Stilen auf der neuen Titelseite in Konflikt geraten.

Thema functionalität

Wie gesagt, ich werde nicht mal raten, was dafür nötig ist. Sie müssen viel herumstochern und alle register_sidebar() -Aufrufe, die für die Titelseite relevant sind, zusammen mit Themenoptionen und Metabox-Elementen kopieren. An diesem Punkt in dem process können Sie in eine Menge von Dateiabhängigkeiten laufen und Sie können die Hälfte des alten Themas in das neue integrieren. Während der ganzen Zeit musst du weiterhin nach Namenskonflikten in Dateien, functionen und mehr Ausschau halten!

Fazit

In den einfachsten Fällen wird dieser process nicht zu schwierig sein, aber wenn Sie neu in PHP und WordPress Theming sind (mehr letzteres als das vorherige, imho), könnte das wirklich sehr schnell sehr schnell werden. Obwohl viele dieser Änderungen abstrakt sind, gibt es viele Orte, an denen ein kleines Versehen die Dinge wirklich für eine Weile in den Hintergrund drängen könnte.

Viel Glück.

Wenn Sie das Design vollständig kopieren möchten, können Sie benutzerdefinierte Header- und Footer-Dateien wie header-custom.php und footer-custom.php erstellen . Diese benutzerdefinierten Header- und Footer-Dateien können verwendet werden, indem Sie den Slug mit benutzerdefinierten Dateien als Parameter an die functionen in WordPress übergeben. z.B

 get_header('custom'); 

und

 get_footer('custom'); 

Beachten Sie, dass Sie separate Seitenvorlagen erstellen müssen, die unterschiedliche Seitenstile verwenden können. Informationen zum Erstellen von benutzerdefinierten Seitenvorlagen finden Sie unter http://codex.wordpress.org/Pages#Creating_Your_Own_Page_Templates .