Ce este permis ca argument id în register_sidebar( $args )

28 iul. 2012, 16:27:17
Vizualizări: 13.8K
Voturi: 13

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?

0
Toate răspunsurile la întrebare 4
4
30

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
}
);
28 iul. 2012 18:51:09
Comentarii

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

kaiser kaiser
29 iul. 2012 02:34:27

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

Manny Fleurmond Manny Fleurmond
9 dec. 2013 08:18:07

Î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.

Volker E. Volker E.
2 feb. 2015 08:39:30

Resursă excelentă. Mă întreb de ce nu rezolvă conflictele de denumire cu un postfix, prefix sau ceva similar pentru widget-uri... De exemplu _widget_${id} etc.

Edward J Beckett Edward J Beckett
1 aug. 2015 19:16:17
0
10

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.

28 iul. 2012 16:43:00
0

Trebuie să evitați utilizarea multiplă a caracterelor -, cum ar fi test1---test2

9 apr. 2015 17:28:34
2

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 :)

16 mar. 2016 16:32:57
Comentarii

Te rog să oferi niște context (susținut de exemple de cod, de exemplu).

kaiser kaiser
17 mar. 2016 00:58:41

Am adăugat câteva rânduri în plus pentru clarificare.

mathiasmadsen mathiasmadsen
19 mar. 2016 08:57:37