Wie man PHP-Dateien anordnet, um mehrere Arten von Seiten zu ermöglichen

Ich bin neu in der WordPress-Entwicklung (das meiste, was ich jemals auf der Seite Webdesign / Entwicklung gemacht habe, ist die Erstellung einfacher HTML-Seiten); Das mag eine sehr einfache Frage sein, aber ich versuche eine mehrseitige Website zu erstellen.

Ich möchte 3 statische Seiten, eine Startseite, eine Info-Seite und eine Portfolio-Seite und einen Blog, der über das WordPress-Backend ausgefüllt wird. Anfangs wollte ich den Blog einfach auf eine separate blog.example.com (zB blog.example.com ), aber ich möchte eine Liste auf allen Seiten mit einer Liste der letzten Posts blog.example.com , also möchte ich alle behalten sie auf der gleichen Domain.

Ich bin mir aber nicht sicher, wie ich die Seiten verlinken soll, wenn ich index.php , about.php , portfolio.php und blog.php in den Theme-Ordner blog.php ; Die index.php zeigt jedoch wie erwartet, wenn ich die Links wie folgt erstellen, funktioniert es nicht (alle href s sind leere Zeichenfolgen):

  

Und wenn ich die Links auf den Ordner wp-content lege, benutze die folgende Syntax:

 <a id="nav_bar" href="https://wordpress.stackexchange.com/questions/160817/how-to-arrange-php-files-to-allow-for-multiple-types-of-pages//about.php">About 

Der Link wird richtig gerendert, er zeigt auf die PHP-Dateien im Ordner wp-content, aber beim Navigieren zu dieser Seite kann er die WordPress-functionen nicht aufrufen (dh get_header() kann nicht gefunden werden).

Was ist der beste Weg, um das zu erreichen, was ich tun möchte?

Solutions Collecting From Web of "Wie man PHP-Dateien anordnet, um mehrere Arten von Seiten zu ermöglichen"

Sie müssen lernen, wie die WordPress Template-Hierarchie funktioniert.

Es ist sehr wichtig für jede Person, die WordPress lernen oder ihre aktuelle WordPress-Erfahrung auf die nächste Ebene bringen möchte, um alle Aspekte der WordPress Template-Hierarchie zu kennen und zu verstehen.

Wenn Sie planen, den Inhalt auf Ihrer WordPress-Website zu konsolidieren oder zu organisieren, ist es wichtig zu verstehen, wie Ihre WordPress-Website die Anfragen der Besucher behandelt, die auf Ihrer WordPress-Website ankommen und navigieren.

Hier ist eine Liste von Links, die Sie von oben nach unten lesen sollten:

  1. Themenentwicklung
  2. Vorlagenhierarchie
  3. Kind Themen
  4. Bedingte Tags
  5. In Vorlagen einsteigen
  6. Die Schleife in Aktion

Jetzt für meine .02 in Bezug auf Ihre besondere Situation …

Erstellen Sie Ihre statischen Schritte im WordPress Backend Administrationsbereich ( domain.com/wp-admin/ ). Geben Sie ihnen einen Titel, ändern Sie den “Slug”, wenn Sie möchten, ändern Sie die URL der Seite, und fügen Sie etwas Inhalt ein.

Lesen Sie die Links, die Sie zuvor in meiner Antwort veröffentlicht haben. Dann komm zurück hierher.

page.php Sie eine Datei page.php und legen Sie sie in ./wp-content/themes/ Verzeichnis ./wp-content/themes/ . Dies ist Ihre Standardvorlage für alle "statischen Seiten" auf Ihrer Website.

Wenn Sie nun eine andere functionalität oder ein anderes Layout für eine bestimmte Seite wünschen, haben Sie mehrere Möglichkeiten.

Option # 1) Erstellen Sie einzelne Dateien für jede andere Seite. Sie können dies tun, indem Sie eine Datei namens page-.php oder page-.php .

Option # 2) Verwenden Sie bedingte Tags für jede andere Seite innerhalb Ihrer page.php Datei.

Beispiel:

 if(is_page('about')){// Page with slug of "about". // do stuff } elseif(is_page(28)){// Page with ID of "28". // do stuff } elseif(is_front_page()){// Home page of your website. // do stuff } else{// Any other page. // do stuff } 

Nun, wenn Sie mehr oder weniger hart sein werden, Ihre Links in Ihrem Layout zu kodieren ... Überlegen Sie sich mit site_url(); .

Beispiel: About

Sie könnten es mit den tatsächlichen Seiteninformationen tun.

 $page = get_post(28); if($page){ echo ''.$page->post_title.''.PHP_EOL; } 

Nun, wenn Sie wirklich Lust haben wollten ... Sie könnten globale Variablen verwenden . Globalling das aktuelle post-Objekt (a / k / a aktuelle Seite).

 if(is_page('about')){// Page with slug of "about". global $post; echo '

'.$post->post_title.'

'.PHP_EOL; }

Es sollte auch darauf hingewiesen werden, dass Sie beim Einrichten Ihres "Blog-Bereichs" Ihrer Website die Leseeinstellungen im Backend-Administrationsbereich von WordPress überprüfen sollten. WP Admin -> Settings -> Reading

Stellen Sie Ihre Startseite und eine Seite für Posts ein. Die Seite für Posts ist der Ort, an dem sich Ihr Blog befindet. index.php ist die Standard-Vorlagendatei für Ihre Blog-Posts. Sie können für jeden Bereich Ihres Blogs verschiedene Vorlagen einrichten. home.php wäre Ihre Standard-Vorlagendatei für die "Haupt-Blog-Seite", category.php wären all Ihre Blog-Einträge, denen eine Kategorie zugeordnet ist. tag.php wären all deine Blog-Posts, denen ein Tag zugewiesen wurde. etc...

Ich kann nicht zu sehr auf dieses Thema eingehen, da es einfach viel zu viele Informationen in einer Antwort gibt. Dies ist alles in den obigen Links in meiner Antwort erläutert. Ich kann Ihnen versichern, dass Sie, wenn Sie diese Links lesen und verstehen, auf Ihrem Weg zu einer Lösung sind.

Sehen Sie, wenn Ihre Dateien nur einfache PHP-Dateien sind (in keiner Weise in WordPress eingebunden), sind die WordPress-functionen in diesen Dateien nicht zugänglich. Wenn Sie verschiedene Seiten mit unterschiedlichen Strukturen / Layouts erstellen möchten, sollten Sie zuerst Vorlagen in Ihrem Thema / untergeordneten Thema erstellen, neue Seiten aus dem Admin-Dashboard hinzufügen und ihnen dann die von Ihnen erstellte Vorlage zuweisen.

1) Erstellen Sie eine Vorlage – http://codex.wordpress.org/Page_Templates

2) Fügen Sie eine neue Seite vom Admin-Dashboard hinzu – http://codex.wordpress.org/Pages_Add_New_Screen

3) Wählen Sie beim Hinzufügen der Seite die Vorlage unter den von Ihnen erstellten aus. Sie können sie anhand ihres Namens identifizieren.

Wenn Sie get_header (), get_footer () in Ihre PHP-Dateien eingefügt haben, bedeutet das, dass Sie versucht haben, nur die Vorlagen zu erstellen, aber sie scheinen nicht korrekt als Vorlage geladen zu sein. Weitere Informationen finden Sie unter Link zum Erstellen von Vorlagen. Bitte beachten Sie: Vergessen Sie nicht, beim Erstellen einer Vorlage den Namen der Vorlage anzugeben. Sie können sogar jede vorhandene Vorlage auf Ihr Thema beziehen und einfach kopieren, einfügen, Dateinamen umbenennen, Vorlagenname ändern, Layout nach Belieben anpassen und einer beliebigen WordPress-Seite zuweisen.

Wenn die Seiten fertig sind, können Sie das Thema auch einfach über das Dashboard selbst http://codex.wordpress.org/WordPress_Menu_User_Guide hinzufügen

Wenn Sie keine neue Vorlage erstellen und die vorhandene Vorlage nicht verwenden möchten, können Sie sie sofort verwenden, indem Sie sie den Seiten im Administrator-Dashboard zuweisen.