Das Plugin AllPages soll alle Seiten aus allen Kategorien des Blog anzeigen.
HTML und CSS (Demo) - Moderne Web-Technologien für moderne Websites! In diesem Standardwerk gibt Ihnen Jürgen Wolf alle Werkzeuge an die Hand, die sie für einen starken Auftritt im Web benötigen. Lernen Sie alle Grundlagen von HTML, CSS und JavaScript kennen und erweitern Sie Ihr Wissen mit diesem umfassenden Lern- und Nachschlagewerk.
Wichtiger Hinweis: Je nach verwendetem Werbenetzwerk, musst du hier einen geeigneten Hinweis anbringen, der dem Leser anzeigt, das du mit Affiliate-Marketing Geld verdienst (ggf. in den Teilnahmenbedingungen des betreffenden Werbepartners nachlesen).
Inhalt
Plugin AllPages
Das Plugin AllPages
zeigt alle Beiträge der Webseite an und kann als Vorlage für weitere Plugins diese Art dienen. Das Plugin verwendet den praktischen PHP-Befehl glob().
class AllPages
{
static function menue($dir)
{
$dpr = new Dipper();
foreach (glob($dir.'*', GLOB_ONLYDIR) as $file_name)
{
foreach (glob($file_name.'/*'.CONTENT_EXT) as $file_name)
{
if (!stripos($file_name, 'index'.CONTENT_EXT) && !preg_match('{_}', $file_name))
{
$file_link = str_replace(CONTENT_EXT,'',explode('/',$file_name)[1].'/'.explode('/',$file_name)[2]);
$file_content = file_get_contents($file_name);
$file_title = $dpr->parse(Page::meta($file_content))['Title'];
$file_description = $dpr->parse(Page::meta($file_content))['Description'];
$file_featured = $dpr->parse(Page::meta($file_content))['Featured'];
$file_logo = $dpr->parse(Page::meta($file_content))['Logo'];
echo '<div class="col-sm-3">';
echo '<img src="'.$file_logo.'" class="img-fluid w-50">';
echo '<p class=""><a href="/'.$file_link.'">'.$file_title.'</a></p>';
echo '<p class="fs-6">'.$file_description.'</p>';
echo '</div>';
}
}
}
}
}
Plugin AllPages
Möchtest du beispielsweise Beiträge eines bestimmten Autors anzeigen, dann erstelle eine Kopie dieses Plugins und nenne es zum Beispiel PagesByAuthor.php
(den Class-Name nicht vergessen) und passe den Code um eine Abfrage nach dem Autor an.
Klammere die echo
-Ausgabe mit der folgenden if
-Klausel ein, um nach dem Autor Max zu suchen:
...
if (isset($dpr->parse(Page::meta($file_content))['Author'])) // Field 'Author' exsist?
{
if ($dpr->parse(Page::meta($file_content))['Author'] == 'Max') // check
{
echo...
echo...
echo...
}
}
...
Anpassung für Autor-Abfrage
Hänge den Pluginaufruf in ein Template deiner Wahl mit der folgenden Befehlszeile ein:
<?php echo PagesByAuthor::menue(CONTENT_DIR); ?>
Übergabe eines Verzeichnis
Statt des Standardverzeichnisses CONTENT_DIR
kannst du auch ein ganz bestimmtes Verzeichnis dort übergeben, um in einer bestimmten Kategorie nach Beiträgen des Autors Max zu suchen.