Ce qui est autorisé comme argument id dans register_sidebar ($ args)


13

Je veux enregistrer une barre latérale mais je suis un peu confus quant aux utilisations de l' idargument en register_sidebarfonction.

Le Codex dit: id - id de la barre latérale - Doit être tout en minuscules, sans espace (par défaut, un ID numérique auto-incrémenté).

À quoi sert l' idargument et doit-il toujours être sous forme numérique?.

Réponses:


10

L'ID de la barre latérale est utilisé pour identifier de manière unique cette barre latérale spécifique. Si vous ne le définissez pas et que quelque chose en crée un autre, vous pourriez constater que votre barre latérale se déplace dans un endroit inattendu!

Il n'a pas besoin d'être numérique - vous pouvez également utiliser des chaînes.


32

La réponse de John Landells est bonne et correcte.

Je veux ajouter une liste d'ID interdits ou réservés - ces ID peuvent apparaître sur la page de configuration du widget /wp-admin/widgets.php. Si vous utilisez l'un de ces… des choses étranges se produiront en raison des identifiants en double. Le glisser-déposer ne fonctionnera probablement plus. Voir Ticket # 14466 pour le cas le plus évident: #footer.

Mise à jour, 17 septembre: #footer sera autorisée dans WP 3.5 .
Mise à jour, 6 novembre: par ticket 14466, tous les ID de widget widgets.phpsont sidebar-désormais préfixés . La liste suivante sera obsolète avec WordPress 3.5. Probablement.

De plus, un ID ne doit pas commencer par un nombre, c'est du HTML non valide.

Plugins installés affectant cette liste: 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

J'ai collecté les identifiants avec un petit plugin qui peut être utilisé sur n'importe quelle page:

<?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 (Modifier) ​​Ajouté au Codexregister_sidebar() .
kaiser

Pour une raison quelconque, les zones de widget dont l'id commence par headn'ont pas tendance à s'afficher correctement sur la page d'administration, du moins pour moi
Manny Fleurmond

Dans WP 4.1, je suis tombé sur un autre phénomène, lors de l'enregistrement d'une barre latérale avec un ID en notation BEM, comme widgets--aside(double tiret), la zone de widget apparaît sur la page d'administration du widget, mais les widgets ajoutés ne restent pas après avoir quitté la page.
Volker E.

Excellente ressource. Je me demande pourquoi ils ne résolvent pas les conflits de nommage avec un suffixe, un préfixe quelconque pour les widgets ... IE _widget_${id}etc.
Eddie B

0

Vous devez éviter plusieurs -caractères, commetest1---test2


0

Apparemment, vous devez également éviter les ID qui incluent des préfixes de la liste ci-dessus:

par exemple:

#footer-xxx
#footer-yyy

La configuration suivante a initialement fonctionné, mais a entraîné des erreurs (en utilisant le thème de la mousson):

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>',
) );

En renommant la barre latérale, les erreurs ont disparu. Je n'ai cependant pas testé sur d'autres thèmes. Donc, cela pourrait ne s'appliquer qu'à ma configuration.

Cependant, le fil m'a vraiment aidé dans ma recherche d'une solution :)


Veuillez fournir un peu de contexte (cuit par exemple avec du code par exemple).
kaiser

Ajout de quelques lignes supplémentaires pour clarification.
mathiasmadsen
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.