it-swarm.com.de

Anzeigen verschiedener Widgets auf verschiedenen Seiten auf benutzerfreundliche Weise

Ich suche ein Plugin, mit dem Benutzer auswählen können, welche Widgets auf den einzelnen Seiten angezeigt werden.

Es gibt einige Lösungen, von denen ich keine gefunden habe, die für einen nicht-technischen Benutzer wirklich einfach sind. ich habe es versucht

  • Woo Themes Sidebar Manager - Großartige Funktionalität, aber ein Benutzer würde viel Schulung benötigen, um Vorlagen zu verstehen , Seitenleisten und Widgets - ziemlich verwirrend.
  • Plugins wie Widget-Kontext und Widget-Logik , die meiner Meinung nach für einen durchschnittlichen Benutzer schwierig sind.

Ich habe eine gut aussehende Lösung gesehen, die das Genesis Framework verwendet ( einfache Seitenleisten ) - dies hat den richtigen Ansatz. Der Benutzer kann das Widget aus in dem Seiteneditor auswählen. Für mich ist das der wichtige Punkt.

Kennt jemand Plugins (die Genesis nicht verwenden), die die gleiche Auswahl von Seitenleisten in der Seite ermöglichen?

1
Pete

Sie können Ihre eigene Seitenleiste erstellen, wenn Sie möchten.

füge folgendes zu deinem functions.php hinzu

 register_sidebar(array('name'=>'Sidebar ',
    'before_widget' => '<div class="widget">',
    'after_widget' => '</div>',
    'before_title' => '<p>',
    'after_title' => '</p>',
));

und Sie können dieses Widget mithilfe des folgenden Codes verwenden

<?php dynamic_sidebar('sidebar')?>

Hoffe das hilft

1
MidhuN

Mithilfe von Code können Sie steuern, wo Ihr Widget angezeigt wird, indem Sie dem Code, der Ihre Seitenleiste in Ihrer Vorlagendatei aufruft, ein bedingtes Tag hinzufügen:

<?php if ( is_page('007') && is_active_sidebar( 'your-sidebar' ) ) : ?>
<div class="your-sidebar">
<?php dynamic_sidebar( 'your-sidebar' ); ?>
</div>
<?php endif; ?>

Eine andere Möglichkeit, Ihr Widget aufzurufen, besteht darin, Code wie diesen direkt in einer Vorlagendatei oder aus Ihrer Funktionsdatei zu verwenden:

add_action( 'loop_start', 'conditional_sidebar' );

function conditional_sidebar() {

if ( is_page('007') && is_active_sidebar( 'your-sidebar' ) ) {

dynamic_sidebar( 'your-sidebar', array(
'before' => '<div class="your-sidebar widget-area">',
'after'  => '</div>',
) );

    }
}

Hinweis: Dieser Code funktioniert nur, wenn Sie in Ihrer Funktionsdatei auch eine Seitenleiste registriert haben.

register_sidebar( array(
'name'         => __( 'Your Sidebar' ),
'id'           => 'your-sidebar',
'description'  => __( 'Only displays on page with I.D 007' )
) );
0
Brad Dalton

Versuchen Sie , Widgets anzuzeigen . Es ist das, was ich die meiste Zeit benutze, und es ist ziemlich einfach in den Widgets-Einstellungen zu verwenden. Es ist möglicherweise auch möglich, es zu optimieren, um als Meta-Box zu fungieren.

0
moraleida

Ich verwende Widget-Kontext , um dies zu erreichen. Es ist recht flexibel , deckt fast jede Logik ab, die Sie zum Anzeigen/Ausblenden eines Widgets benötigen würden, und falls es nicht vorhanden ist, können Sie benutzerdefinierte Regeln wie eine bestimmte URL erstellen Wo möchten Sie Ihr Widget anzeigen/verbergen?.

Nicht zu vergessen, es gibt es schon lange und es ist gut gepflegt.

0
vDog