In dieser Datei müssen wir alle unnötigen Dinge entfernen und nur Strukturelemente sowie Aufrufe grundlegender WordPress-Funktionen übrig lassen:
Der Platzhalterkommentar ganz in der Mitte des Codes ist der Ort, an dem wir dann unsere benutzerdefinierten Elemente einfügen.
Fügen Sie eine benutzerdefinierte Begrüßung hinzu
WordPress selbst hat dafür bereits gesorgt. Wir müssen nur die folgende Zeile einfügen:
Hinzufügen neuer Widget-Bereiche
Lassen Sie uns im Standardverfahren neue Widget-Bereiche in WordPress einrichten. Wir werden dies mit einer zusätzlichen Funktionsdatei tun, damit die Dinge von Theme zu Theme wiederverwendbar bleiben. Wir erstellen eine neue Datei, archives-page-functions.php, platzieren sie im Hauptthemaverzeichnis und registrieren außerdem zwei neue Widget-Bereiche:
If(!function_exists("archives_page_widgets_init")) : function archives_page_widgets_init() ( /* Erstes Archivseiten-Widget, links angezeigt. */ register_sidebar(array("name" => __("Archivseiten-Widget LEFT", "zerif -lite"), "description" => __("Dieses Widget wird auf der linken Seite Ihrer Archivseite angezeigt.", "zerif-lite"), "id" => "archives-left", "before_widget" => "
", "before_title" => "", "after_title" => "
",)); /* Zweites Archivseiten-Widget, rechts angezeigt. */ register_sidebar(array("name" => __("Archivseiten-Widget RECHTS", "zerif-lite"), "description" => __ („Dieses Widget wird auf der rechten Seite Ihrer Archivseite angezeigt.“, „zerif-lite“), „id“ => „archives-right“, „before_widget“ => „ ", "before_title" => "", "after_title" => "
",)); ) endif; add_action("widgets_init", "archives_page_widgets_init");If(!function_exists("archives_page_styles")) : function archives_page_styles() ( if(is_page_template("tmpl_archives.php")) ( wp_enqueue_style("archives-page-style", get_template_directory_uri() . "/archives-page-style. css"); // Standardmethode zum Hinzufügen von Stylesheets in WP. ) ) endif; add_action("wp_enqueue_scripts", "archives_page_styles");
Dies ist ein bedingter Warteschlangenvorgang. Es funktioniert nur, wenn der Besucher die archivierte Seite anzeigt.
Wir müssen daran denken, unsere neue Datei „archives-page-functions.php“ einzubinden, indem wir die folgende Zeile ganz am Ende der Datei „functions.php“ des aktuellen Themes hinzufügen:
Erfordert get_template_directory() . "/archives-page-functions.php";
Schließlich ist der neue Block, den wir in unserer Hauptdatei content-tmpl_archives.php verwenden werden, recht einfach. Platzieren Sie den folgenden Code unter dem Aufruf von the_content();
Jetzt müssen wir uns nur noch um die einzige fehlende Datei, archives-page-style.css, kümmern. Lassen Sie es uns jedoch für später aufheben, da wir es als Repository für alle Stile unserer benutzerdefinierten Archivseite verwenden werden, einschließlich für Widgets.
Anzeige der letzten 15 Datensätze
Dazu müssen wir einige manuelle PHP-Codierungen durchführen. Auch wenn die Anzeige von Beiträgen mit einer Vielzahl von Widgets implementiert werden kann, vermeiden wir die Monotonie und tauchen in die Programmierung ein, um weitere unterschiedliche Möglichkeiten zu demonstrieren.
Sie fragen sich wahrscheinlich, warum 15 Einträge? Ich weiß nicht, ich habe diese Nummer einfach aus dem Nichts gezogen. Machen wir es mit benutzerdefinierten Feldern anpassbar.
Folgendes werden wir tun:
- Die Anzahl der Beiträge legen wir über das benutzerdefinierte Feld archived-posts-no fest.
- Wenn die Zahl nicht gültig ist, verwendet die Vorlage den Standardwert der letzten 15 Einträge.
Unten finden Sie den Code, der dies tut. Platzieren Sie es unterhalb des vorherigen Abschnitts in der Datei content-tmpl_archives.php, die die neuen Widget-Bereiche verwaltet.
ID, „archived-posts-no“, true)); /* Hier stellen wir sicher, dass die abgerufene Zahl angemessen ist. Falls sie höher als 200 oder niedriger als 2 ist, setzen wir sie einfach auf den Standardwert von 15 zurück. */ if($how_many_last_posts > 200 ||. $how_many_last_posts< 2) $how_many_last_posts = 15; $my_query = new WP_Query("post_type=post&nopaging=1"); if($my_query->have_posts()) ( echo "
"; Echo "
- "; $counter = 1; while($my_query->have_posts() && $counter<= $how_many_last_posts) {
$my_query->die Post();
- ">
"; wp_reset_postdata(); ) ?>
Dieser Code ruft lediglich den Wert eines benutzerdefinierten Felds ab, legt die Anzahl der anzuzeigenden Datensätze fest und wählt diese Datensätze dann mit WP_Query(); aus der Datenbank aus. Ich verwende auch einige Font Awesome-Symbole, um diesem Block etwas Flair zu verleihen.
Anzeige von Links zu Autorenarchiven
Dieser Abschnitt ist nur nützlich, wenn Sie einen Blog mit mehreren Autoren betreiben. Überspringen Sie es, wenn Sie einen Autor haben.
Diese Funktionalität kann mithilfe eines einfachen Codeblocks implementiert werden, der in unserer Datei content-tmpl_archives.php (unter dem vorherigen Block) platziert werden muss:
Unsere Autoren
Zu den Stilen kommen wir in ein paar Minuten. Beachten Sie zunächst, dass alles durch Aufrufen der Funktion wp_list_authors() erledigt wird.
Zeigt Links zu Archiven nach Monat an
Ich habe dieses Element ganz am Ende hinzugefügt, da es aus Lesersicht nicht die nützlichste Komponente ist. Es ist jedoch wichtig, es auf der Archivseite zu haben, damit Sie nicht Widgets verwenden müssen, um die monatlichen Archive an anderer Stelle auf der Website anzuzeigen.
So wird es in der Datei content-tmpl_archives.php aussehen:
Nach Monaten
In diesem Fall zeigen wir ihn als separaten Absatz mit durch Schrägstriche (|) getrennten Einträgen an.
Werfen wir einen Blick auf die vollständige Datei content-tmpl_archives.php, die unsere Hauptdatei für die Ausgabe eines benutzerdefinierten Archivs ist:
Letzte „.$how_many_last_posts.“ Beiträge
"; Echo " "; $counter = 1; while($my_query->have_posts() && $counter<= $how_many_last_posts) {
$my_query->die Post();
Diese Funktionalität kann mithilfe eines einfachen Codeblocks implementiert werden, der in unserer Datei content-tmpl_archives.php (unter dem vorherigen Block) platziert werden muss:
So wird es in der Datei content-tmpl_archives.php aussehen:
Stylesheet
Schauen wir uns zum Schluss noch das Stylesheet an. So sieht die Datei archives-page-style.css aus:
Archives-widget-left ( float: links; Breite: 50 %; ) .archives-widget-right ( float: links; padding-left: 4 %; Breite: 46 %; ) .archives-latest-section ( ) .archives -latest-section ol ( Schriftstil: kursiv; Schriftgröße: 20px; Auffüllung: 10px 0; ) .archives-latest-section ol li ( Auffüllung links: 8px; ) .archives-authors-section ( ) .archives -authors-section ul ( Listenstil: keine; Textausrichtung: Mitte; Rand oben: 1 Pixel gepunktet #888; Rand unten: 1 Pixel gepunktet #888; Polsterung: 10 Pixel 0; Schriftgröße: 20 Pixel; Rand: 0 0 20px 0; .archives-authors-section ul li ( display: inline; padding: 0 10px; ) .archives-authors-section ul li a ( text-decoration:none; ) .archives-by-month-section ( ext -align: center; word-spacing: 5px; .archives-by-month-section p ( border-top: 1px dotted #888; border-bottom: 1px dotted #888; padding: 15px 0; ) .archives-by- Monatsabschnitt p a ( text-decoration:none; ) @media nur Bildschirm und (max-width: 600px) ( .archives-widget-left ( width: 100 %; ) .archives-widget-right ( width: 100 %; ) )
Bei den Stilen handelt es sich hauptsächlich um Schriftarten und einige Strukturelemente, mit Ausnahme einiger Ausrichtungen sowie eines responsiven Designblocks am Ende.
Mal sehen, wie das in der Praxis aussehen wird. Hier ist eine Website mit einer Menge archivierter Inhalte:
So integrieren Sie diese Vorlage in jedes Theme
Die hier erstellte benutzerdefinierte Archivseite ist für das Zerif Lite-Theme, das im offiziellen WordPress-Verzeichnis verfügbar ist. Wie gesagt, es kann jedoch in Verbindung mit jedem Thema verwendet werden. So geht's:
- Wir nehmen die Dateien archives-page-style.css und archives-page-functions.php, die wir im Tutorial erstellt haben, und legen sie dann im Hauptthemaverzeichnis ab.
- Bearbeiten Sie die Datei „functions.php“ des Themes und fügen Sie ganz am Ende die folgende Zeile hinzu: require get_template_directory() . „/archives-page-functions.php“;
- Nehmen Sie die page.php-Datei des Themes, erstellen Sie eine Kopie davon, benennen Sie sie um, ändern Sie den Funktionsaufruf get_template_part() in get_template_part('content', 'tmpl_archives'); und fügen Sie dann ganz am Anfang einen beschreibenden Kommentar hinzu: /* Template Name: Archivseite Benutzerdefiniert */.
- Nehmen Sie die content-page.php-Datei Ihres Themes, erstellen Sie eine Kopie davon, benennen Sie sie in content-tmpl_archives.php um und fügen Sie alle benutzerdefinierten Blöcke, die wir im Tutorial erstellt haben, direkt unter dem Funktionsaufruf the_content(); hinzu.
- Lasst uns testen und genießen.
So würde es im Standardthema „Twenty Fifteen“ aussehen:
Hier finden Sie die wichtigsten Nachrichten, die wir 2008 auf der Website veröffentlicht haben.
Update (6. Dezember): Fehlende Zip-Sicherheitskorrektur hinzugefügt
Seit der letzten Alpha gab es zahlreiche weitere Ergänzungen und Verbesserungen, hier ein kurzer Überblick über die wichtigsten Änderungen:
- (Dokumentation wurde auf den aktuellen Stand gebracht)
- ext/msql wurde entfernt, während ext/ereg jetzt E_DEPRECATED-Benachrichtigungen auslöst
- ext/mhash wurde durch ext/hash ersetzt, der vollständige BC bleibt jedoch erhalten
- PHP verwendet jetzt cc als Standard-Compiler anstelle von gcc
- Eine Reihe von Fehlerbehebungen unter anderem für ext/pdo, ext/soap und die Stream-Ebene
Mehrere Änderungen unter der Haube erfordern außerdem ausführliche Tests mit vorhandenen Anwendungen, um sicherzustellen, dass etwaige Abwärtskompatibilitätsunterbrechungen minimiert werden.
Wir freuen uns über die Teilnahme von Entwicklern, Designern, Managern und allen anderen Personen mit Interesse an der Programmiersprache PHP an unserer vielversprechenden Veranstaltung zu einem sehr günstigen Preis:
- Standardtickets: £60,00
- Frühbucherpreis (bis 8. November): 50,00 £
- Ermäßigte Eintrittskarten: 35,00 £
* Bestätigung mit dem Briefkopf Ihres Unternehmens
**Mit Studierendenausweis. Begrenzte Sitzplätze verfügbar
Der Zweck dieser Alpha-Version besteht darin, Benutzer dazu zu ermutigen, sich nicht nur aktiv an der Identifizierung von Fehlern zu beteiligen, sondern auch sicherzustellen, dass alle neuen Funktionen oder erforderlichen Rückwärtskompatibilitätsunterbrechungen in der Dokumentation vermerkt werden. Bitte melden Sie etwaige Befunde dem bzw. der .
Es gab zahlreiche weitere Ergänzungen und Verbesserungen, hier ein kurzer Überblick über die wichtigsten Änderungen:
- (Dokumentation möglicherweise veraltet)
- Hinzufügung von , (für Phar sind weitere Arbeiten als Leiter von Alpha2 geplant) und Erweiterungen
- Optionale zyklische Speicherbereinigung
- Optionale Unterstützung für den MySQLnd-Ersatztreiber für libmysql
- Windows älter als Windows 2000 (Windows 98, NT4 usw.) werden nicht mehr unterstützt ()
- Neue Syntaxfunktionen wie , eingeschränktes GOTO, ternäre Abkürzung „?:“
Mehrere Änderungen unter der Haube erfordern außerdem ausführliche Tests mit vorhandenen Anwendungen, um sicherzustellen, dass etwaige Abwärtskompatibilitätsunterbrechungen minimiert werden. Dies ist besonders wichtig für Benutzer, die die undokumentierte Multibyte-Unterstützung der Zend-Engine benötigen.
Unser Top-Einreicher Felix De Vliegher hat seine letzten Einsendungen tatsächlich selbst festgeschrieben, da ihm aufgrund der hohen Qualität seiner Einsendungen Festschreibungsrechte für das PHP-Repository gewährt wurden. Wir haben nicht von allen Teilnehmern eine Antwort erhalten, aber wir ermutigen alle, über ihre Erfahrungen zu bloggen und uns Feedback zu geben, wie wir zukünftige Veranstaltungen verbessern können.
Jetzt besser spät als nie, hier sind die 10 Gewinner der versprochenen elePHPant-Verlosung, die von Nexen gesponsert wird. Beachten Sie, dass Felix mich gebeten hat, ihn nicht in die Verlosung einzubeziehen, da er zu Hause bereits eine ganze Reihe von Elefanten hütet.
- Eric Stewart
- Håvard Eide
- Marc Veldmann
- Michelangelo van Dam
- Rein Velt
- Rob Young
- Sami Greenbury
- Sebastian Deutsch
- Sebastian Schürmann
- Stefan Koopmanschap
Wir werden Nexen die E-Mail-Adressen der Gewinner mitteilen, damit diese den Versand der elePHPants veranlassen können. Für diejenigen, die sich das fragen: Sie können weiterhin Tests auf der Seite einreichen. Ein kleines Dankeschön an alle Teilnehmer und TestFest-Organisatoren! Ohne die unzähligen Menschen, die bei der Organisation lokaler Veranstaltungen, der Implementierung der Infrastruktur und den Prüfern der Einreichungen geholfen haben, hätte das TestFest offensichtlich nicht so gut geklappt wie es. Aufgrund des großen Erfolgs des TestFest 2008 werden wir sicherlich in Zukunft ähnliche Veranstaltungen durchführen.
Sicherheitsverbesserungen und Korrekturen in PHP 5.2.6:
- Ein möglicher Stapelpufferüberlauf in der von Andrei Nigmatulin identifizierten FastCGI-SAPI wurde behoben.
- Von Maksymilian Aciemowicz identifizierter Integer-Überlauf in printf() behoben.
- Das in CVE-2008-0599 beschriebene, von Ryan Permeh identifizierte Sicherheitsproblem wurde behoben.
- Eine von Maksymilian Arciemowicz identifizierte Safe_Mode-Umgehung in cURL wurde behoben.
- Behandeln Sie unvollständige Multibyte-Zeichen ordnungsgemäß in escapeshellcmd(), identifiziert von Stefan Esser.
- Das mitgelieferte PCRE wurde auf Version 7.6 aktualisiert
Lesen Sie auch...
- Erstellen einer benutzerdefinierten Archivseite in WordPress. So integrieren Sie diese Vorlage in jedes Theme
- Schalten Sie Ihren Computer mit Mikrotik kostenlos aus der Ferne ein, ohne SMS und ohne Clouds
- Berufe: Administrator sozialer Gruppen
- So entfernen Sie ein Programm von Android, einschließlich der Standard-Desktopanwendung verschiedener Android-Früchte