Ce este permis ca argument id în register_sidebar( $args )
Vreau să înregistrez o bară laterală, dar sunt puțin confuz în legătură cu utilizarea argumentului id
din funcția register_sidebar
.
Codex spune: id - ID-ul barei laterale - Trebuie să fie scris cu litere mici, fără spații (implicit este un ID numeric auto-incrementat).
Care este utilitatea argumentului id
și trebuie să fie întotdeauna în format numeric?

Răspunsul lui John Landells este bun și corect.
Doresc să adaug o Listă de ID-uri interzise sau rezervate – aceste ID-uri pot apărea pe pagina de configurare a widget-urilor /wp-admin/widgets.php
. Dacă folosești unul dintre acestea... se pot întâmpla lucruri ciudate din cauza ID-urilor duplicate. Funcționalitatea de drag and drop probabil nu va mai funcționa. Vezi Ticket #14466 pentru cel mai evident caz: #footer
.
Actualizare, 17 sept.: #footer
va fi permis în WP 3.5.
Actualizare, 6 nov.: Conform ticket 14466, toate ID-urile widget-urilor în widgets.php
sunt acum prefixate cu sidebar-
. Următoarea listă va deveni învechită odată cu WordPress 3.5. Probabil.
De asemenea, un ID nu ar trebui să înceapă cu un număr, acest lucru fiind HTML invalid.
Plugin-uri instalate care afectează această listă: 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
Am colectat ID-urile cu un mic plugin care poate fi folosit pe orice pagină:
<?php # -*- coding: utf-8 -*-
/* Plugin Name: T5 Listă ID-uri */
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
}
);

+1 (Editat) Adăugat în Codex register_sidebar()
.

Din anumite motive, zonele de widget-uri al căror ID începe cu head
tind să nu se afișeze corect pe pagina de administrare, cel puțin la mine

În WP 4.1 am dat peste un alt fenomen: atunci când înregistrez o bară laterală cu un ID în notație BEM, cum ar fi widgets--aside
(două liniuțe), Zona de Widget-uri apare pe Pagina de Administrare a Widget-urilor, dar widget-urile adăugate nu rămân după părăsirea paginii.

ID-ul barei laterale este utilizat pentru a identifica în mod unic această bară laterală specifică. Dacă nu îl setați și ceva creează altul, este posibil să descoperiți că bara dvs. laterală se mută într-un loc neașteptat!
Nu trebuie să fie neapărat numeric - puteți folosi și șiruri de caractere.

Se pare că trebuie să eviți ID-uri care includ prefixe din lista de mai sus:
de exemplu:
#footer-xxx
#footer-yyy
Următoarea configurație a funcționat inițial, dar a rezultat în erori (folosind tema monsoon):
register_sidebar( array(
'name' => esc_html__( 'Zonă de subsol', 'monsoon' ),
'id' => 'footer-area',
'description' => esc_html__( 'Apare deasupra subsolului.', 'monsoon' ),
'before_widget' => '<div class="col-sm-3 footer-area widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<h3>',
'after_title' => '</h3>',
) );
Prin redenumirea barei laterale, erorile au dispărut. Nu am testat pe alte teme, totuși. Deci acest lucru ar putea fi valabil doar pentru configurația mea.
Cu toate acestea, acest thread chiar m-a ajutat în căutarea unei soluții :)
