Das Plugin AllPages soll alle Seiten aus allen Kategorien des Blog anzeigen.
PHP & MySQL Schnelleinstieg Programmieren lernen in 14 Tagen (Demo) - Mit diesem Buch gelingt Ihnen der einfache Einstieg in die Webentwicklung mit PHP und MySQL. Alle Grundlagen werden in 14 Kapiteln anschaulich und leicht nachvollziehbar anhand von Codebeispielen erläutert. Übungsaufgaben am Ende der Kapitel helfen Ihnen, das neu gewonnene Wissen schnell praktisch anzuwenden und zu vertiefen.
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.