WordPress als "klassisches" CMS: ein Beispiel

Von am 18. August 2010 um 17:43

Das man mit WordPress sehr gut Weblogs betreiben kann, hat sich denke ich mal nach mehr 7 Jahren der Existenz von WordPress herumgesprochen. :-) Trotz vieler Anleitungen und praktischer Beispiele ist vielen noch nicht wirklich bewusst, dass man mit WordPress sehr gut auch Websites ohne Blogcharakter betreiben kann. Hierbei spricht man dann von "WordPress als 'klassisches' CMS". CMS steht hierbei für Content Management System was als Redaktionssystem übersetzt wird.

WordPress als "klassisches" CMS ist ein alter Hut

Schon vor mehr als fünf Jahren habe ich angefangen, mich mit dem Thema WordPress als "klassisches" CMS zu beschäftigen, und habe im Juni und Juli 2005 zwei Artikel zu diesem Thema auf perun.net verfasst. Diese Artikel habe ich verfasst oder besser gesagt, die beiden Aufträge umgesetzt, als viele der heute in WordPress enthalteten Funktionen noch weit entfernte Zukunftsmusik waren. Mittlerweile habe ich bei mehr als einem Dutzend Kunden-Websites WordPress als CMS eingesetzt.

Warum WordPress?

Aber warum sollte man WordPress als "klassisches" CMS einsetzen? Dafür gibt es viele Gründe. WordPress hat niedrige Anforderungen an einen Server, ist leicht zu installieren und zu pflegen und man kann auch anspruchsvolle Layouts problemlos umsetzen. Wenn Bedarf herrscht, kann man auf eine Fülle frei verfügbarer Plugins zurückgreifen, um benötigte Funktionen einzubauen. Zu guter Letzt hat man die Möglichkeit, noch zusätzlich auf ein sehr gutes Blog-System zurückzugreifen, wenn du dich entscheidest, dein Webprojekt noch um ein Weblog zu erweitern.

Anstatt der Beiträge rücken hier die Seiten (Pages) in den Vordergrund und nach Bedarf kann man sowohl die Feeds wie den Kommentarbereich deaktivieren oder sogar gänzlich entfernen.

Elegante WordPress Themes

Im folgenden Artikel werde ich an Hand meiner alten Portfolio-Website erklären, wie man eine "normale" Website mit WordPress umsetzen kann. Die Seite diente mir in der Zeit von Mitte 2003 bis September 2008, als ich noch ein Einzelunternehmer war. Seit September 2008 führen wir eine GmbH und die Website ist noch deswegen online, weil ich neben meiner gewerblichen auch freiberufliche Tätigkeit als Autor führe

Schauen wir uns zuerst die Website mal an:

Vlad-Design.de

Die Startseite

So weit, so gut. Nun wende ich mich den einzelnen Template-Dateien zu und fange als erstes mit dem Kopfbereich an.

Der Kopfbereich: header.php

Hier zuerst der Code der header.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de"> <head profile="http://gmpg.org/xfn/11"> <?php if (is_front_page()) { ?> <title><?php bloginfo('name'); ?> - <?php bloginfo('description'); ?></title> <?php } else { ?> <title><?php wp_title('|', true, 'right'); bloginfo('name'); ?></title> <?php } ?> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="generator" content="WordPress und WeBuilder" /> <!-- leave this for stats please --> <link rel="stylesheet" type="text/css" media="screen" href="<?php bloginfo('stylesheet_url'); ?>" /> <link rel="stylesheet" href="<?php bloginfo('template_directory'); ?>/print.css" type="text/css" media="print" /> <meta name="author" content="Vladimir Simovic" /> <meta http-equiv="imagetoolbar" content="no" /> <link rel="shortcut icon" href="<?php bloginfo('template_directory'); ?>/img/favicon.ico" /> <?php wp_head(); ?> </head> <body> <div id="rand"> <span class="unsichtbar"><a href="#text">Zum Inhalt springen</a></span> <hr /> <div id="oben"> <h1><a href="<?php bloginfo('url'); ?>" title="Zurück zur Startseite">Vladimir Simovic - Webworker (Webdesigner), Blogger, Autor aus Köln</a></h1> </div> <hr /> <?php wp_page_menu('sort_menu=menu_order&show_home=Startseite&menu_class=navi-balken'); ?> <!-- Ende Kopfbereich -->

Da ich davon ausgehe, dass bei dir gute (X)HTML- und CSS- Kenntnisse vorhanden sind, werde ich mich bei der Beschreibung des Codes auf das wesentliche beschränken.

In der fünften Zeile ist dir sicherlich schon <?php if (is_front_page()) { ?> aufgefallen. Mit diesem Conditional-Tag wird die Startseite abgefragt, wenn eine Page als Startseite bestimmt wurde. Im Admin-Bereich unter "Einstellungen" → "Leseeinstellungen" kann man Startseite festlegen:

WordPress: die Startseite festlegen

Eine Seite (Page) als Startseite

Falls du in diesem Bereich nichts geändert hast bzw. weiterhin die Auflistung der letzten Blog-Artikel auf der Startseite erscheinen, dann wird die Startseite mit is_home() angesprochen. Entscheidest du dich dafür eine Page als Startseite zu bestimmen dann kommt is_front_page() zum Einsatz.

Im konkreten Fall wird die Startseite abgefragt, weil ich auf dieser den Seitentitel anders ausgeben möchte als auf den Unterseiten (Zeilen 05–09):

<?php if (is_front_page()) { ?> <title><?php bloginfo('name'); ?> - <?php bloginfo('description'); ?></title> <?php } else { ?> <title><?php wp_title('|', true, 'right'); bloginfo('name'); ?></title> <?php } ?>

In den Zeilen 13 und 14 ist folgendes zu sehen:

<link rel="stylesheet" type="text/css" media="screen" href="<?php bloginfo('stylesheet_url'); ?>" /> <link rel="stylesheet" href="<?php bloginfo('template_directory'); ?>/print.css" type="text/css" media="print" />

Hiermit wird zum einen das "normale" Stylesheet und die CSS-Datei für die Druckausgabe eingebunden. In der Zeile 20 kannst du folgendes sehen: <?php wp_head(); ?>. Es handelt sich hierbei um einen Template-Hook, der den Plugin signalisiert, dass man sich hier im Kopfbereich befindet. Diverse Plugins benötigen diese Hooks (Haken) um zu wissen wo sie ihren Code ausgeben bzw. ihre Wirkung entfalten können.

Der Rest der header.php bis zu der vorletzten Zeile ist selbsterklärend. In der vorletzten Zeile sieht man folgendes:

<?php wp_page_menu('sort_menu=menu_order&show_home=Startseite&menu_class=navi-balken'); ?>

Mit dem oberen Code wurde die Hauptnavigation realisiert. Zum Einsatz kommt der Template-Tag wp_page_menu();. Dieser Tag listet alle Pages als Listenelmenete (<li>) auf und verfügt über eine Reihe von Parametern . Für dieses Theme kommen drei Parameter zum Einsatz: sort_menu, show_home und menu_class.

Viele Themes, Templates und Layouts

Mit dem ersten Parameter kann man gezielt entscheiden nach welchen Kriterien, die Pages aufgelistet werden. Ich habe mich für den Wert menu_order entschieden. Hierbei werden die einzelnen Pages nach dem Reihenfolgen-Wert aufgelistet. Mit dem zweiten Parameter gibt man an, ob in der Auflistung der Pages bzw. der Navigation auch ein Link zur Startseite erscheinen soll. Mit dem Wert Startseite wird der Linktext für den Startseiten-Link bestimmt.

Mit dem dritten Parameter bestimmt man, wie das Klassen-Attribut des div-Blocks heißen soll, welches das Menü umgibt. In unsere Fall wird daraus in der Ausgabe: <div class="navi-balken">…</div>.

In der folgenden Abbildung kann man die Auswirkung der header.php sehen:

Vlad-Design.de: der Kopfbereich

Die Auswirkung der header.php

Die index.php und die page.php

Das allgemeine Haupttemplate (index.php) und das Haupttemplate für die Seiten (page.php) sind hier eineiige Zwillinge … der Code der beiden ist identisch:

<?php get_header(); ?> <hr /> <div id="mitte"> <div id="navi"> <h2 class="first">Schnellinfo</h2> <ul> <li>Selbständig seit 2003</li> <li>Fachbuchautor und Spezialist für WordPress, XHTML und CSS</li> <li>Erfahrung aus mehr als 160 erfolgreich abgeschlossenen Projekten.</li> </ul> <img src="<?php bloginfo('template_directory'); ?>/img/vlad.jpg" width="125" height="134" alt="Vladimir Simovic" title="Vladimir Simovic" /> <div id="navi-unten">&nbsp;</div> </div> <div id="text"> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <h2><?php the_title(); ?></h2> <?php the_content('weiterlesen&hellip;'); ?> <?php edit_post_link('Bearbeiten', '<p>', '</p>'); ?> <?php endwhile; else: ?> <p>Diese Seite existiert leider nicht.</p> <?php endif; ?> <?php get_footer(); ?>

Die Auswirkungen der index.php und der page.php sieht man auf der Startseite und hier im Artikel in der ersten Abbildung.

Die verschiedenen Seiten-Templates

Weil die Sidebars der einzelnen Unterseiten verschiedene Inhalte haben sollten, war es notwendig, eine Methode zu wählen, die dies ermöglicht. Man kann wechselnde Inhalte in WordPress z. B. mit if-Abfragen oder mit verschiedenen Seiten-Templates realisieren. Ich habe mich im Falle dieser Seite für mehrere Seiten-Templates entschieden.

Welchen Weg du einschlägst, ist zumindest bei kleineren Websites Jacke wie Hose. Ich konnte keinen Performance-Unterschied erkennen. Wie sich das bei sehr großen Websites auswirken könnte, müsste noch getestet werden.

Suchmaschinenoptimierung (SEO) für WordPress

Die journal.php

Als ich noch jung und voller Tatendrang war, hatte ich den Plan, auch auf meiner geschäftlichen Website ein Weblog zu betreiben, irgendwann durfte ich dann auch an mir selbst erfahren, dass der Spruch – "Der Tag hat nur 24 Stunden" – wirklich stimmt. Daher wurde es notwendig, die Inhalte aus diesem Bereich in meinem eigentlichen Weblog zu integrieren, aber ganz entfernen wollte ich den Bereich nicht. Deswegen bekam er einen Hinweis über die Auslagerung und darunter werden nun die 15 letzten Artikel aus perun.net aufgelistet:

Vlad-Design.de: Journal

Der Journal-Bereich

Und hier der Code dazu:

<?php /* Template Name: Journal */ ?>
<?php get_header(); ?> <hr />
<div id="mitte">
    <div id="navi">
        <h2 class="first">Schnellinfo</h2>
        <ul>
            <li>Selbständig seit 2003</li>
            <li>Fachbuchautor und Spezialist für WordPress, XHTML und CSS</li> <li>Erfahrung aus mehr als 160 erfolgreich abgeschlossenen Projekten.</li>
        </ul>
        <img src="<?php bloginfo('template_directory'); ?>/img/vlad.jpg" width="125" height="134" alt="Vladimir Simovic" title="Vladimir Simovic" />
        <div id="navi-unten">&nbsp;</div>
    </div>
    <div id="text">
        <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <h2><?php the_title(); ?></h2> <?php the_content('weiterlesen&hellip;'); ?> <?php /* Widget für die Ausgabe des Feeds. */ if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('journal') ) : ?>
<!-- Keine Widgets! -->
        <?php endif; ?>
        <?php edit_post_link('Bearbeiten', '<p>', '</p>'); ?>
<?php endwhile; else: ?>
    <p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
<?php endif; ?>
<?php get_footer(); ?>

Die einzige Besonderheit in dieser Template-Datei ist das Widget (Zeile 34–37), das es mir einerseits ermöglicht, hier den Newsfeed aus perun.net einzubinden und die verlinkten Überschriften der 15 letzten Beiträge aufzulisten. Es bietet mir zudem auch die Möglichkeit, die Ausgabe komfortabel aus dem Admin-Menü heraus ("Design" → "Widgets") zu verwalten:

Vlad-Design.de: Widgets

Externen Feed via Widget einbinden

Die leistungen.php

Die leistungen.php unterscheidet sich von der oben vorgestellten journal.php nur minimal. Das Widget im Inhaltsbereich fehlt und der Inhalt in der Sidebar weicht ab:

<?php /* Template Name: Leistungen */ ?> <?php get_header(); ?> <hr /> <div id="mitte"> <div id="navi"> <h2 class="first">Leistungen</h2> <ul> <li>(X)HTML & CSS</li> <li>WordPress</li> <li>Redaktionelle Pflege</li> <li>Beratung/Schulung</li> </ul> <img src="<?php bloginfo('template_directory'); ?>/img/vlad.jpg" width="125" height="134" alt="Vladimir Simovic" title="Vladimir Simovic" /> <div id="navi-unten">&nbsp;</div> </div> <div id="text"> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <h2><?php the_title(); ?></h2> <?php the_content('weiterlesen&hellip;'); ?> <?php edit_post_link('Bearbeiten', '<p>', '</p>'); ?> <?php endwhile; else: ?> <p><?php _e('Sorry, no posts matched your criteria.'); ?></p> <?php endif; ?> <?php get_footer(); ?>

Und hier ein Teil des Bereichs als Abbildung:

Vlad-Design.de: Leistungen

Die Leistungen

Die referenzen.php

Der Referenzen-Bereich besteht aus einer übergeordneten und vier untergeordneten Seiten und diese fünf Seiten bekommen alle die referenzen.php als Seiten-Template zugewiesen.

<?php /* Template Name: Referenzen */ ?> <?php get_header(); ?> <hr /> <div id="mitte"> <div id="navi"> <h2 class="first">Unterpunkte</h2> <ul> <li><a href="<?php bloginfo('url'); ?>/referenzen/gewerbliche-projekte/"<?php if (is_page('Gewerbliche Projekte')) echo ' class="aktiv"'; ?>>Gewerbliche Projekte</a></li> <li><a href="<?php bloginfo('url'); ?>/referenzen/veroeffentlichungen/"<?php if (is_page('veroeffentlichungen')) echo ' class="aktiv"'; ?>>Veröffentlichungen</a></li> <li><a href="<?php bloginfo('url'); ?>/referenzen/sonstige-projekte/"<?php if (is_page('sonstige-projekte')) echo ' class="aktiv"'; ?>>Sonstige Projekte</a></li> <li><a href="<?php bloginfo('url'); ?>/referenzen/private-projekte/"<?php if (is_page('private-projekte')) echo ' class="aktiv"'; ?>>Private Projekte</a></li> </ul> <img src="<?php bloginfo('template_directory'); ?>/img/vlad.jpg" width="125" height="134" alt="Vladimir Simovic" title="Vladimir Simovic" /> <div id="navi-unten">&nbsp;</div> </div> <div id="text"> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <h2><?php the_title(); ?></h2> <?php the_content('weiterlesen&hellip;'); ?> <?php edit_post_link('Bearbeiten', '<p>', '</p>'); ?> <?php endwhile; else: ?> <p><?php _e('Sorry, no posts matched your criteria.'); ?></p> <?php endif; ?> <?php get_footer(); ?>

Auch bei dieser Template-Datei weicht nur der Inhalt der Sidebar ab. In der Sidebar dieser Datei befinden sich eine manuelle Auflistung der untergeordneten Seiten und jeweils eine if-Abfrage, um festzustellen, auf welcher Unterseite man sich befindet, um ein Klassen-Attribut zuzuweisen. Hier die Abbildung des besagten Bereichs:

Vlad-Design.de: die Referenzen

Der Referenzen-Bereich

Die impressum.php

Hier der Code der impressum.php:

<?php /* Template Name: Impressum */ ?> <?php get_header(); ?> <hr /> <div id="mitte"> <div id="navi"> <h2 class="first">Kontakt</h2> <address> Vladimir Simovic<br /> ... </address> <img src="<?php bloginfo('stylesheet_directory'); ?>/img/vlad.jpg" width="125" height="134" alt="Vladimir Simovic" title="Vladimir Simovic" /> <h2>Netzwerke</h2> <p><a href="http://www.openbc.com/hp/Vladimir_Simovic/" style="border: none;" title="OpenBC/Xing" rel="nofollow"><img src="http://www.xing.com/img/buttons/3_de_btn.gif" width="118" height="23" alt="XING" style="margin: 0;" /></a></p> <div id="navi-unten">&nbsp;</div> </div> <div id="text"> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <h2><?php the_title(); ?></h2> <?php the_content('weiterlesen&hellip;'); ?> <?php edit_post_link('Bearbeiten', '<p>', '</p>'); ?> <?php endwhile; else: ?> <p><?php _e('Sorry, no posts matched your criteria.'); ?></p> <?php endif; ?> <?php get_footer(); ?>

In der Zeile 14 wird dir bestimmt das Element address aufgefallen sein. Genau! Innerhalb dieses HTML-Elementes bringt man die Adressdaten unter. Und hier die Abbildung des Impressums:

Vlad-Design.de: Impressum

Das Impressum und die Kontaktdaten

Wie man sieht, habe ich innerhalb des Impressums auch die Kontaktdaten untergebracht, ohne dafür eine extra Seite zu erstellen. Nicht zuletzt seit der Erscheinung des Buches Website Boosting * weiß man, dass die allermeisten Besucher einer Website mittlerweile wissen, dass sich im Impressum auch die Kontaktdaten und nicht nur rechtliche Hinweise befinden.

Der Fußbereich

Vom Fußbereich der Website (footer.php) gibt es nichts Nennenswertes zu berichten. Hier der Code:

 </div><!--ende Text--> <div class="clearer"></div> </div><!--/Mitte--> <hr /> <div id="unten"> <div>&copy; <a href="http://www.vladimir-simovic.de">Vladimir Simovic</a> 2003-2009 &ndash; Alle Rechte vorbehalten &ndash; <a href="http://wordpress.org" title="Diese Website wird mit WordPress betrieben" rel="nofollow">Wordpress</a></div> </div> </div><!--/Rand--> <?php wp_footer(); ?> <!--<?php echo $wpdb->num_queries; ?> queries. <?php timer_stop(1); ?> seconds. --> </body> </html>

Und hier der Fußbereich im Frontend:

Vlad-Design.de: der Fußbereich

Der Fußbereich (footer.php)

Die Fehlerseite: 404.php

So wie bei eigentlich allen Websites ist es auch bei diesem Projekt sinnvoll, eine Fehlerdatei (404.php) zu erstellen, damit die Besucher, die eine nicht mehr existierende Seite ansteuern, sich nicht verloren fühlen. Hier der Code:

<?php get_header(); ?> <hr /> <div id="mitte"> <div id="navi"> <h2 class="first">Schnellinfo</h2> <ul> <li>Selbständig seit 2003</li> <li>Fachbuchautor und Spezialist für WordPress, XHTML und CSS</li> <li>Erfahrung aus mehr als 160 erfolgreich abgeschlossenen Projekten.</li> </ul> <img src="<?php bloginfo('stylesheet_directory'); ?>/img/vlad.jpg" width="125" height="134" alt="Vladimir Simovic" title="Vladimir Simovic" /> <div id="navi-unten">&nbsp;</div> </div> <div id="text"> <h2>404er Fehler</h2> <p>Die von Ihnen angeforderte Seite existiert nicht mehr oder liegt an einem anderen Ort. Folgende Seiten geh&ouml;ren zum Umfang dieser Pr&auml;senz:</p> <ul class="sitemap"> <?php wp_list_pages('title_li='); ?> </ul> <?php get_footer(); ?>

Wie du aus dem oberen Code erkennen kannst, habe ich in den Zeilen 23–25 die Sitemap ("Inhaltsverzeichnis") der Website mit Hilfe von wp_list_pages('title_li=') erstellt, um den Besuchern den Wiedereinstieg zu erleichtern. Eine Abbildung spare ich mir, da die Unterschiede zu der Start- oder anderen Seiten marginal sind.

Elegante WordPress Themes

Die functions.php und die Widgets

In der functions.php werden PHP-Funktionen ausgelagert. In diesem Beispiel ist dort lediglich das Widget-Feld untergebracht, das im Journal-Bereich zum Einsatz kommt.

<?php if ( function_exists('register_sidebar') ) register_sidebar(array('name'=>'journal', 'before_widget' => '', 'after_widget' => '', 'before_title' => '<h3>', 'after_title' => '</h3>', )); ?>

Alternative Möglichkeiten für die Navigation

In diesem Artikel hast du gesehen, wie ich auf meiner alten Portfolio-Website die primäre und sekundäre Navigation umgesetzt habe. Es geht aber auch anders: durch Plugins und andere Funktionen, wie z. B. durch wp_list_pages oder durch das benutzerdefinierte Menü welches in WordPress 3.0 hinzugekommen ist.

Aktuellen menüpunkt kennzeichnen

Sehr hilfreich ist es, wenn der Besucher erkennt, innerhalb welchen Bereichs er sich befindet. Wenn man die Seiten (Pages) über wp_list_pages() oder wie hier über wp_page_menu() ausgibt, dann bekommt jede Seite, auf der du dich gerade befindest, einen zusätzlichen Klassenwert zugewiesen:

<li class="page_item page-item-12 current_page_item"><a href="...">

Somit hat man die Möglichkeit, eine zusätzliche CSS-Regel zu erstellen (z. B. .current_page_item {font-weight: bold;}), um das Aussehen des aktiven Menüpunktes zu steuern.

Aktiven Menüpunkt hervorheben

Wo bin ich gerade: Aktiven Menüpunkt hervorheben

Eine zwangsläufige Frage, die dann auftaucht, ist, wie man auch die übergeordnete Seite visuell hervorheben kann, wenn man sich auf der jeweiligen untergeordneten Seite befindet? Die übergeordnete Seite bekommt auch einen zusätzlichen Klassenwert zugewiesen: current_page_parent.

Diesen Artikel weiterempfehlen:

Deinen XING-Kontakten zeigen
Kategorien:
Kompendium
Tags:
, , ,  
Beitrag:
Druckvorschau
Kommentare:
Kommentar abgeben oder Kommentare verfolgen

 — 


22 Reaktionen auf diesen Beitrag

Kommentare

  1. Tim sagte am
    Mittwoch, 18. August 2010 um 22:25 folgendes:

    Ich arbeite auch schon seit einiger Zeit mit WordPress – gerade auch bei klassischen Projekten.

    Für diesen Zweck setzte ich eigentlich bei jedem Projekt folgende Plugins ein:

    - Disable WordPress Core Update (Der Update Hinweis wird nicht mehr angezeigt)
    - widget logic (Sidebars Widgets können nur auf bestimmten Seiten bzw. nur für bestimmte Benutzer anzeigen lassen)
    - remove dahboard widgets (Das Dashboard wird bei allen Accounts von unnötigen Widgets befreit)
    - Maintenance Mode (Webseite wird in den Maintenance Mode gesetzt. Eingeloggte Nutzer können aber dennoch den momentanen Stand verfolgen)
    - "Capsman" und "Adminimize" (Das Backend kann für den Kunden genau angepasst werden)

  2. Markus sagte am
    Donnerstag, 19. August 2010 um 09:39 folgendes:

    In der fünften Zeile ist dir sicherlich schon aufgefallen. Mit diesem Conditional-Comments wird die Startseite abgefragt, wenn eine Page als Startseite bestimmt wurde. Im Admin-Bereich unter "Einstellungen" → "Leseeinstellungen" kann man Startseite festlegen:

    Du hast Conditional Comments (IE-"Funktion") mit Conditional Tags (WP) verwechselt.

    • Perun sagte am
      Donnerstag, 19. August 2010 um 10:05 folgendes:

      Hallo Markus,

      danke für den Hinweis. man sollte nicht gleichzeitig über WordPress (Conditional Tags) schreiben und einen Artikel über den Internet Explorer (Conditional Comments) lesen. :-)

  3. Franz sagte am
    Donnerstag, 19. August 2010 um 13:42 folgendes:

    Deine Untermenüs finde ich ein wenig gewöhnungsbedürftig (hard-coded). Könnte man dafür nicht WordPress' neue Menü-Funktionalität benutzen?

    Ansonsten toller Artikel!

    • Perun sagte am
      Freitag, 20. August 2010 um 03:04 folgendes:

      Hallo Franz,

      Deine Untermenüs finde ich ein wenig gewöhnungsbedürftig (hard-coded).

      Die hardgecodete Variante hat natürlich die beste Performance und wenn man die Seiten bzw. die Menüstruktur nur sehr selten ändert dann fällt das niedrigere Komfort bei der Anpassung nicht so ins Gewicht.

      Könnte man dafür nicht WordPress' neue Menü-Funktionalität benutzen?

      Klar, es spricht nichts dagegen. Es ist nur die Frage ob es bei so einer Website, wie im Artikel beschrieben, auch den Aufwand gerechtfertigt.

  4. Patrick sagte am
    Freitag, 20. August 2010 um 01:31 folgendes:

    Moin Vladimir,

    dein Artikel hat mir den Ansporn gegeben, einen neu zu erstellenden Webauftritt mit WordPress statt Contao umzusetzen und ich muss sagen, dass es sich lohnt.

    Dein Setup habe ich um folgende Plugins erweitert:
    - "All in One SEO Pack" (Titel und andere Suchmaschinen-relevante Dinge optimieren)
    - "PS Auto Sitemap" (zum Erzeugen einer Sitemap)
    - "WP-Permalauts" (korrektes Umformen von Umlauten/Sonderzeichen für die Permalinks)

    Hast du eine Lösung parat, mit der man die Newsfeeds komplett deaktivieren kann, ohne in den WordPress-Core eingreifen zu müssen? Bei Frank Bültge habe ich bereits gefunden, wie man den Feed "quasi deaktivieren" kann, jedoch bleibt das Tag im Header bestehen und somit bietet mir der Browser das RSS-Icon an…

    Danke für diesen Artikel + mfG
    Patrick

  5. xwolf sagte am
    Freitag, 24. September 2010 um 13:07 folgendes:

    Hm….

    schade das der Artikel dort aufhört, wo es richtig spannend werden könnte: Nämlich bei den Fragen: Wie kannst du festlegen, daß weitere Autoren in verschiedene Sieten arbeiten (und nur da) und welche Rahmenbedingungen gibt es um neue Seiten (nicht Artikel) anzulegen.

    Ein häufiger Punkt bei Website bei ddenen viele Leute mitarbeiten ist auch die Frage der Berechtigungen überall oder nur teilweise neue Unterseiten in der Navigation azulegen.
    (Jeder möchte ja gerne seine ganz ganz wichtigen Seiten ganz oben haben; Und einige Leute ist Usability auch vollkommen Wumpe – die tun dann mal ein Dutzend oder mehr Seiten auf dieselbe Navigationsebene.)

    Hast du an der Stelle schonmal was gemacht oder geplant?

  6. Andreas sagte am
    Donnerstag, 14. Oktober 2010 um 22:17 folgendes:

    Danke für den guten Artikel!
    So kommt man dem "klassischen CMS" schonmal ein wenig näher.

    Was noch "gewöhnungsbedürftig" ist, wenn man von einem CMS spricht, ist die Tatsache, dass die Inhalte eigentlich nur über das eine Textfeld (WYSIWYG) eingegeben werden.

    Gibt es in WP nicht eine Möglichkeit, dem Redakteur auch mehrere Textfelder (WYSIWYG), Bildoptionen etc. anzubieten (also im Backendformular) und diese dann flexibel im Template unterzubringen und zu layouten?!

    Das ist für mich der entscheidende Schritt, der noch zum "wahren CMS" fehlt. Natürlich sollte das ganze – wenn möglich – einigermaßen komfortabel in der Pflege sein. Custom fields sind das aus meiner Sicht nicht, da nur eine reine textarea, die z.B. für eine Bildauswahl nicht gerade komfortabel ist

  7. Andi sagte am
    Freitag, 10. Dezember 2010 um 17:23 folgendes:

    Hallo, übungshalber habe ich obiges CMS Beispiel mal nachgebaut, jedoch funktionieren hier folgende Dinge nicht:
    1. Hauptnavigation wird trotz wp_page_menu nicht in Zeile ausgegeben, sondern als vertikale Liste.

    2. Die 4 Projekte-Unterseiten zu Referenzen lassen sich nicht aufrufen. Ständig irgendwlche Pfadprobleme. Müssten hier die Permalinks (wenn, wie) angepasst werden.
    Auch stellt sich die Frage, ob die Unterseiten über das WP-Backend oder über einen externen Editor anzulegen sind und ob diese in einem Ordner referenzen liegen müssen.
    Habe die Unterseiten zunächst über WP-Backend angelegt und jeweils das Template referenzen zugewiesen mit Übergeordneter Seite Referenzen. Hierbei erscheinen die US allerdings auch in der Menüanzeige und müsste excludiert werden.
    In anderer Vorgehensweise legte ich die Seiten über ext. Editor an. Beide Methoden führen nicht zum Ziel.

    Für kleine und großen Hilfen wäre ich dankbar.

Trackbacks und Pingbacks

  1. Howto: WordPress als klassisches CMS – Tutorial am Praxisbeispiel » t3n News
  2. Linkeria (3. August – 19. August) | der tag und ich
  3. links for 2010-08-19 « /home/servrrockr
  4. Linkdump for 19. August 2010 Links synapsenschnappsen
  5. Durch polarisieren mehr Flattr-Klicks bekommen | Geld verdienen im Web 2.0
  6. Blogdesign: Ein eigenes Wordpress-Theme erstellen
  7. Wordpress ein Thema als CMS für kleine Unternehmen? | [suedlich]
  8. WordPress als "klassisches" CMS | perun.net
  9. Wordpress als CMS | Webmaster-Zentrale
  10. WordPress als CMS « Service-Blog
  11. Freizeitler » HTML5 und CSS3: Immer nur am Ball bleiben reicht nicht…
  12. Tipps und Tricks: WordPress als klassisches CMS
  13. Wordpress als CMS « KulturDesign-Stanko

Tut mir Leid, die Kommentarfunktion für diesen Beitrag wurde geschlossen.