Register_sidebar'da kimlik argümanı olarak izin verilenler ($ args)


13

Bir kenar çubuğunu kaydetmek istiyorum, ancak idargümanın register_sidebarişlevdeki kullanımları hakkında biraz kafam karıştı .

Codex diyor ki: id - Kenar çubuğu kimliği - Boşluk olmadan tümü küçük harf olmalıdır (varsayılan, otomatik olarak artan sayısal bir kimliktir).

idArgümanın ne faydası vardır ve her zaman sayısal formda olmalıdır ?.

Yanıtlar:


10

Kenar çubuğu kimliği, bu belirli kenar çubuğunu benzersiz bir şekilde tanımlamak için kullanılır. Ayarlamazsanız ve bir şey başka bir şey yaratırsa, kenar çubuğunuzun beklenmedik bir yere hareket ettiğini görebilirsiniz!

Sayısal olması gerekmez; dizeleri de kullanabilirsiniz.


32

John Landells'in cevabı iyi ve doğrudur.

Yasaklanmış veya ayrılmış kimliklerin bir listesini eklemek istiyorum - bu kimlikler widget yapılandırma sayfasında görünebilir /wp-admin/widgets.php. Bunlardan birini kullanırsanız ... çoğaltılan kimlikler nedeniyle garip şeyler olur. Sürükle ve bırak muhtemelen artık çalışmayacak. Bkz Ticket # 14466 en belirgin durum için: #footer.

Güncelleme, 17 Eylül : WP 3.5'te izin#footer verilecek . Güncelleme, Kasım, 06 .: Bilet başına 14466 olan tüm widget kimlikleri şimdi önek olarak eklenmiştir . Aşağıdaki liste WordPress 3.5 ile geçersiz olacaktır. Muhtemelen.
widgets.phpsidebar-

Ayrıca, kimlik bir numarayla başlamamalıdır, bu geçersiz HTML'dir.

Bu listeyi etkileyen yüklü eklentiler: Debug Bar , Debug Bar Cron , Monster Widget .

#_wpnonce_widgets
#ab-awaiting-mod
#access-off
#access-on
#adminmenu
#adminmenuback
#adminmenushadow
#adminmenuwrap
#adv-settings
#available-widgets
#collapse-button
#collapse-menu
#colors-css
#contextual-help-back
#contextual-help-columns
#contextual-help-link
#contextual-help-link-wrap
#contextual-help-wrap
#debug-bar-actions
#debug-bar-cron
#debug-bar-css
#debug-bar-info
#debug-bar-menu
#debug-bar-wp-query
#debug-menu-link-Debug_Bar_Object_Cache
#debug-menu-link-Debug_Bar_Queries
#debug-menu-link-Debug_Bar_WP_Query
#debug-menu-link-ZT_Debug_Bar_Cron
#debug-menu-links
#debug-menu-target-Debug_Bar_Object_Cache
#debug-menu-target-Debug_Bar_Queries
#debug-menu-target-Debug_Bar_WP_Query
#debug-menu-target-ZT_Debug_Bar_Cron
#debug-menu-targets
#debug-status
#debug-status-db
#debug-status-memory
#debug-status-php
#debug-status-site
#footer
#footer-left
#footer-thankyou
#footer-upgrade
#icon-themes
#menu-appearance
#menu-comments
#menu-dashboard
#menu-links
#menu-media
#menu-pages
#menu-plugins
#menu-posts
#menu-posts-domicile
#menu-settings
#menu-tools
#menu-users
#object-cache-stats
#querylist
#removing-widget
#rss-items-2
#rss-items-__i__
#rss-show-author-2
#rss-show-author-__i__
#rss-show-date-2
#rss-show-date-__i__
#rss-show-summary-2
#rss-show-summary-__i__
#rss-title-2
#rss-title-__i__
#rss-url-2
#rss-url-__i__
#screen-meta
#screen-meta-links
#screen-options-link-wrap
#screen-options-wrap
#screenoptionnonce
#show-settings-link
#tab-link-missing-widgets
#tab-link-overview
#tab-link-removing-reusing
#tab-panel-missing-widgets
#tab-panel-overview
#tab-panel-removing-reusing
#widget-10_recent-posts-__i__
#widget-11_rss-__i__
#widget-12_search-__i__
#widget-13_tag_cloud-__i__
#widget-14_text-__i__
#widget-15_widget_twentyeleven_ephemera-__i__
#widget-16_rss-2
#widget-1_archives-__i__
#widget-2_calendar-__i__
#widget-3_categories-__i__
#widget-4_nav_menu-__i__
#widget-5_links-__i__
#widget-6_meta-__i__
#widget-7_monster-__i__
#widget-8_pages-__i__
#widget-9_recent-comments-__i__
#widget-archives-__i__-count
#widget-archives-__i__-dropdown
#widget-archives-__i__-savewidget
#widget-archives-__i__-title
#widget-calendar-__i__-savewidget
#widget-calendar-__i__-title
#widget-categories-__i__-count
#widget-categories-__i__-dropdown
#widget-categories-__i__-hierarchical
#widget-categories-__i__-savewidget
#widget-categories-__i__-title
#widget-links-__i__-category
#widget-links-__i__-description
#widget-links-__i__-images
#widget-links-__i__-limit
#widget-links-__i__-name
#widget-links-__i__-orderby
#widget-links-__i__-rating
#widget-links-__i__-savewidget
#widget-list
#widget-meta-__i__-savewidget
#widget-meta-__i__-title
#widget-monster-__i__-savewidget
#widget-nav_menu-__i__-nav_menu
#widget-nav_menu-__i__-savewidget
#widget-nav_menu-__i__-title
#widget-pages-__i__-exclude
#widget-pages-__i__-savewidget
#widget-pages-__i__-sortby
#widget-pages-__i__-title
#widget-recent-comments-__i__-number
#widget-recent-comments-__i__-savewidget
#widget-recent-comments-__i__-title
#widget-recent-posts-__i__-number
#widget-recent-posts-__i__-savewidget
#widget-recent-posts-__i__-title
#widget-rss-2-savewidget
#widget-rss-__i__-savewidget
#widget-search-__i__-savewidget
#widget-search-__i__-title
#widget-tag_cloud-__i__-savewidget
#widget-tag_cloud-__i__-taxonomy
#widget-tag_cloud-__i__-title
#widget-text-__i__-filter
#widget-text-__i__-savewidget
#widget-text-__i__-text
#widget-text-__i__-title
#widget-widget_twentyeleven_ephemera-__i__-number
#widget-widget_twentyeleven_ephemera-__i__-savewidget
#widget-widget_twentyeleven_ephemera-__i__-title
#widgets-left
#widgets-right
#wp-admin-bar-a8c_developer
#wp-admin-bar-comments
#wp-admin-bar-debug-bar
#wp-admin-bar-edit-profile
#wp-admin-bar-logout
#wp-admin-bar-my-account
#wp-admin-bar-new-content
#wp-admin-bar-new-content-default
#wp-admin-bar-new-domicile
#wp-admin-bar-new-link
#wp-admin-bar-new-media
#wp-admin-bar-new-page
#wp-admin-bar-new-post
#wp-admin-bar-new-user
#wp-admin-bar-root-default
#wp-admin-bar-site-name
#wp-admin-bar-site-name-default
#wp-admin-bar-top-secondary
#wp-admin-bar-updates
#wp-admin-bar-user-actions
#wp-admin-bar-user-info
#wp-admin-bar-view-site
#wp_inactive_widgets
#wpadminbar
#wpbody
#wpbody-content
#wpcontent
#wpwrap
#zt-debug-bar-cron-css

Kimlikleri herhangi bir sayfada kullanılabilecek küçük bir eklenti ile topladım:

<?php # -*- coding: utf-8 -*-
/* Plugin Name: T5 List IDs */
add_action( 'shutdown', function()
{ ?>
<script>
jQuery( function( $ )
{
    var els = []
    $( '[id]' ).each( function() { els.push( this.id ) } )
    els.sort()
    var pre = $( '<pre/>' ).css( 'margin','10px' ).html( '#'+els.join( '<br>#' ) )
    $( document.documentElement ).append( pre )
})
</script><?php
}
);

8
+1 (Düzenleme) Eklenme Kodeksiregister_sidebar() .
kaiser

Nedense, kimliği ile başlayan widget alanları head, en azından benim için, yönetici sayfasında düzgün bir şekilde oluşturulma eğiliminde değil
Manny Fleurmond

WP 4.1'de başka bir fenomenle karşılaştım, BEM notasyonunda bir kimliğe sahip bir kenar çubuğunu kaydederken widgets--aside(çift çizgi) gibi, Widget Alanı Widget Yönetici Sayfasında görünür, ancak eklenen widget'lar sayfadan ayrıldıktan sonra kalmaz.
Volker E.

Mükemmel kaynak. Neden bir postfix, widget için bir tür önek ile adlandırma çakışmaları çözmüyorum merak ediyorum ... IE _widget_${id}vb
Eddie B

0

Birden fazla -karakterden kaçınmalısınız.test1---test2


0

Görünüşe göre, yukarıdaki listeden önek içeren kimliklerden de kaçınmalısınız:

Örneğin:

#footer-xxx
#footer-yyy

Aşağıdaki kurulum başlangıçta çalıştı, ancak hatalarla sonuçlandı (muson temasını kullanarak):

register_sidebar( array(
    'name'          => esc_html__( 'Footer Area', 'monsoon' ),
    'id'            => 'footer-area',
    'description'   => esc_html__( 'Appears above the footer.', 'monsoon' ),
    'before_widget' => '<div class="col-sm-3 footer-area widget %2$s">',
    'after_widget'  => '</div>',
    'before_title'  => '<h3>',
    'after_title'   => '</h3>',
) );

Kenar çubuğunu yeniden adlandırarak hatalar kayboldu. Yine de başka temalar üzerinde test yapmadım. Bu sadece kurulumum için geçerli olabilir.

Ancak, böylece iplik gerçekten bir çözüm arayışımda bana yardımcı oldu :)


Lütfen bir bağlam sağlayın (örn. İçin kod örnekleri tarafından pişirilmiş).
kaiser

Açıklama için birkaç satır daha eklendi.
mathiasmadsen
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.