Wordpress динамическая боковая панель без заголовка - PullRequest
13 голосов
/ 24 февраля 2012

Я бы хотел использовать динамическую боковую панель.У меня есть 1 текстовый элемент в боковой панели виджета, но я не хочу тянуть виджет в заголовке (только тело).Может кто-нибудь показать мне, где WordPress тянет в заголовке?

например, на данный момент у меня есть ...

// In my page template...
<div id='advert-header'>        
   <?php dynamic_sidebar( 'Header Advert' ); ?>
</div>

// In functions.php...
function twentyten_widgets_init() {
    register_sidebar( array(
        'name' => __( 'Header Advert', 'twentyten' ),
        'id' => 'primary-widget-area',
        'description' => __( 'The primary widget area', 'twentyten' ),
        'before_widget' => '',
        'after_widget' => '',
        'before_title' => '',
        'after_title' => '',
    ) );
// etc.
}

Ответы [ 7 ]

29 голосов
/ 25 февраля 2012

Виджет всегда имеет фильтр, примененный к названию заголовка 'widget_title', используйте его.

add_filter('widget_title','my_widget_title'); 
function my_widget_title($t)
{

    return null;
}

Спасибо

-Shak

8 голосов
/ 24 февраля 2012

Вы можете попробовать это (в functions.php в register_sidebar)

'before_title' => '<span class="hidden">',
'after_title' => '</span>',

И Css

.hidden{display:none;}

Вы также можете попробовать это .

2 голосов
/ 17 января 2019

Эти заголовки могут быть полезны для пользователя CMS, поэтому в вашем register_sidebar вы можете поместить sth.как я делал в коде ниже (работает в Wordpress 5.0.3).Теперь заголовок виджета находится в html-комментарии, для меня это нормально

  register_sidebar( array(
    'name'          => esc_html__( 'Contact page widgets', 'xxx' ),
    'id'            => 'sidebar-3',
    'description'   => esc_html__( 'Add widgets here to appear on contact page.', 'xxx' ),
    'before_widget' => '<div id="%1$s" class="widget %2$s">',
    'after_widget'  => '</div>',
    'before_title'  => '<!-- ',
    'after_title'   => ' -->',
) );
1 голос
/ 06 ноября 2013

Или вы можете сделать это еще проще, выполнив это в функциях:

'before_title' => '<span style="display: none;">',
'after_title' => '</span>',
0 голосов
/ 21 сентября 2018

Пожалуйста, поместите этот код в файл functions.php.

add_filter( 'widget_title', 'remove_widget_title' );
function remove_widget_title( $widget_title ) {
    return $widget_title == '&nbsp;' ? '' : $widget_title;
}
0 голосов
/ 24 февраля 2012

Есть ли поле заголовка для используемого виджета? Вы можете попробовать вставить туда &nbsp;, чтобы получить место для названия. Но не самое элегантное решение.

0 голосов
/ 24 февраля 2012

не могли бы вы просто сделать display: none; в CSS для виджета-заголовка?

...