Ich habe ein neues Fußzeilen-Widget mit diesem Code registriert.
register_sidebar(array(
'name' => esc_html__( 'Footer Sidebarprestige', 'realtor' ),
'id' => 'footer-sidebarprestige',
'description' => esc_html__( 'Widgets in this area will be shown in Footer Area.', 'realtor' ),
'class'=>'',
'before_widget'=>'<li id="%1$s" class="col-md-3 col-sm-6 widget %2$s">',
'after_widget'=>'</li>',
'before_title' => '<h5>',
'after_title' => '</h5>'
));
Ich habe es in meiner footer.php-Datei so genannt:
<ul class="row">
<?php dynamic_sidebar('footer-sidebar'); ?>
</ul>
<ul class="row">
<?php dynamic_sidebar('footer-sidebarprestige'); ?>
</ul>
Die Fußzeilenleiste ist das ursprüngliche Widget, und die Fußzeilenleiste ist das, das ich hinzugefügt habe. So wie es jetzt ist, wenn ich dem Widget-Bereich, den ich hinzugefügt habe, ein Widget hinzufüge, wird es unter dem Original angezeigt, und ich verstehe, warum.
Was ich versuche zu tun. Rufen Sie den Widget-Bereich auf, den ich nur für bestimmte Seiten-IDs hinzugefügt habe. Grundsätzlich wird nur bei aufgerufenen Seiten-IDs das neu erstellte Fußzeilen-Widget und nicht der ursprüngliche Widget-Bereich angezeigt.
Es gibt verschiedene Möglichkeiten, dies zu erreichen:
A. Verwenden Sie CSS, um Widgets basierend auf der Seite, auf der Sie sich befinden, ein- und auszublenden. Dies ist in Ordnung, um dieses Problem zu umgehen, aber es löst Ihr Problem nicht wirklich, insbesondere wenn Sie viele Seiten/Widgets haben.
B. Rufen Sie einen anderen Widget-Bereich in Ihrer Vorlagendatei mit bedingter Logik auf
<ul class="row">
<?php if(is_page('my-page')){
dynamic_sidebar('footer-sidebarprestige');
} ?>
</ul>
C. Verwenden Sie ein Plugin wie Widget Logic , um die bedingte Logik für die Widgets selbst zu verwenden. Anschließend können Sie eine Bedingung wie is_page('my-page')
für die Anzeige des Widgets auf Widget-Basis hinzufügen.
Ich verstehe, dass Sie ein Widget auf bestimmten Seiten anzeigen möchten, richtig? Sie könnten ein Plugin dafür verwenden: https://wordpress.org/plugins/widget-context/
Finden Sie es mit folgendem Code heraus:
<ul class="row">
<?php if ( is_page( 1111 )) : ?>
<?php dynamic_sidebar('footer-sidebarprestige'); ?>
<?php else :?>
<?php dynamic_sidebar('footer-sidebar'); ?>
<?php endif; ?>
</ul>
Danke Pim, du hast mich auf den richtigen Weg geschickt, um meine Antwort zu bekommen