Sidebar Widget abhängig von Artikel oder Seite?

  • Hey,
    schnelle Frage: Ich habe schon einiges gegoogelt und konnte bisher nur Lösungen über Custom Fields und dergleichen finden.

    Ich frage mich ob es auch ein Plugin gibt das es mir einfach ermöglicht beim Schreiben eines Artikels oder einer Seite ein Widget in die Sidebar zu schalten, dass NUR diese Seite oder Artikel betrifft?

    Ist ein wenig kompliziert erklärt glaube ich :)

    Als Beispiel. Ich schreibe einen Artikel über Rosen und möchte nur bei diesem Artikel in der Sidebar ein Widget haben, das allgemein die "Blume" erklärt.

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • da mußt du leider etwas Hand anlegen.

    1: Du holst dir die page.php in einem PHP/HTML-Editor und fügst am Beginn folgendes ein:

    [COLOR=#000000]<?php[/COLOR]
    [COLOR=#808080]/*
    Template Name: Name_des_Templates
    */
    [/COLOR]
    [COLOR=#000000]?>

    2:[/COLOR]Dann suchst du die Stellen wo die sidebars eingebunden sind und ersetzt
    die sidebar1.php mit der neuen sidebar die dort erscheinen soll,
    speicherst diese Seite mit einem neuen Namen ab und lädst sie in dein
    Theme verzeichnis auf den Server.

    Functions.php - Zusätzliche Widet-Areas:

    Das ist ganz einfach weil du einfach das Array um die Nummer änderst die
    der Anzahl der sidebars entspricht di du haben wilslt:[COLOR=#B1B100]if[/COLOR] [COLOR=#66CC66]([/COLOR][COLOR=#000066]function_exists[/COLOR][COLOR=#66CC66]([/COLOR][COLOR=#FF0000]'register_sidebars'[/COLOR][COLOR=#66CC66])[/COLOR][COLOR=#66CC66])[/COLOR] [COLOR=#66CC66]{[/COLOR]
    register_sidebars[COLOR=#66CC66]([/COLOR][COLOR=#CC66CC]9[/COLOR], [COLOR=#000066]array[/COLOR][COLOR=#66CC66]([/COLOR]
    [COLOR=#FF0000]'before_widget'[/COLOR] => [COLOR=#FF0000]'<div id="%1$s" class="widget %2$s">'[/COLOR].[COLOR=#FF0000]'<!--- BEGIN Widget --->'[/COLOR],
    [COLOR=#FF0000]'before_title'[/COLOR] => [COLOR=#FF0000]'<!--- BEGIN WidgetTitle --->'[/COLOR],
    [COLOR=#FF0000]'after_title'[/COLOR] => [COLOR=#FF0000]'<!--- END WidgetTitle --->'[/COLOR],
    [COLOR=#FF0000]'after_widget'[/COLOR] => [COLOR=#FF0000]'<!--- END Widget --->'[/COLOR].[COLOR=#FF0000]'</div>'[/COLOR]
    [COLOR=#66CC66])[/COLOR][COLOR=#66CC66])[/COLOR];
    [COLOR=#66CC66]}[/COLOR]


    Jetzt hast du 9 sidebars ... jetzt noch die passenden sidebar_x.php dazu erstellen die eigentlich nur das nötigste beinhalten muss.

    Sidebar_x.php:


    <div [COLOR=#000000]class[/COLOR]=[COLOR=#FF0000]"art-layout-cell art-sidebar1"[/COLOR]>
    [COLOR=#000000]<?php[/COLOR] [COLOR=#B1B100]if[/COLOR] [COLOR=#66CC66]([/COLOR]!art_sidebar[COLOR=#66CC66]([/COLOR][COLOR=#CC66CC]9[/COLOR][COLOR=#66CC66])[/COLOR][COLOR=#66CC66])[/COLOR]: [COLOR=#000000]?>[/COLOR]

    [COLOR=#000000]<?php[/COLOR] [COLOR=#B1B100]endif[/COLOR] [COLOR=#000000]?>[/COLOR]
    </div>

    Über FTP auf den Server laden und dann hast Du ein Sidbar
    speziel für deine angelegt Page welche Du noch in WP
    unter Attribute/Template ändern mußt

    Gruß
    Jörg

  • Das geht auch mit Plugin ...

    Hi!

    Das geht mit dem Plugin Widget Logic. Den einzigen Haken, den ich bei der Benutzung bislang bemängelbar finde, ist, dass wenn man z.B. auzf eine Seite verlinkt, die man irgendwann löscht, bleibt der Querverweis ja trotzdem noch stehen. Das kann bei größeren Sites mit vielen Querverlinkungen echt problematisch zum Pflegen sein und führt leicht zu inkonsistenter Datenhaltung. Bei kleineren Projekten aber, oder wenn die Inhalte recht "statisch" sind, find ich das Plugin sehr nützlich.

    Angewendet z.B. in der Website Gerner Rollladenbau.http://www.gerner-rollladenbau.de

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!