Apa yang diizinkan sebagai argumen id di register_sidebar ($ args)

13

Saya ingin mendaftarkan bilah sisi tetapi saya sedikit bingung tentang penggunaan fungsi idargumen register_sidebar.

Codex mengatakan: id - Sidebar id - Harus semuanya dalam huruf kecil, tanpa spasi (default adalah ID penambahan otomatis numerik).

Apa gunanya idargumen dan harus selalu dalam bentuk angka?

Gandalf
sumber

Jawaban:

10

ID sidebar digunakan untuk mengidentifikasi secara unik sidebar spesifik ini. Jika Anda tidak mengaturnya dan sesuatu membuat yang lain, Anda dapat menemukan bahwa sidebar Anda bergerak ke suatu tempat yang tidak terduga!

Tidak perlu numerik - Anda dapat menggunakan string juga.

John Landells
sumber
32

Jawaban John Landells baik dan benar.

Saya ingin menambahkan Daftar ID terlarang atau dilindungi undang-undang - ID ini dapat muncul di halaman konfigurasi widget /wp-admin/widgets.php. Jika Anda menggunakan salah satu dari ini ... hal-hal aneh akan terjadi karena duplikat ID. Seret dan lepas mungkin tidak akan berfungsi lagi. Lihat Ticket # 14.466 untuk kasus yang paling jelas: #footer.

Pembaruan, 17 September .: #footer akan diizinkan di WP 3.5 .
Perbarui, November, 06 .: Per tiket 14466, semua ID widget di widgets.phpawalan dengan sidebar-sekarang. Daftar berikut ini akan usang dengan WordPress 3.5. Mungkin.

Selain itu, ID tidak boleh dimulai dengan angka, itu HTML tidak valid.

Plugin yang diinstal mempengaruhi daftar ini: 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

Saya mengumpulkan ID dengan plugin kecil yang dapat digunakan pada halaman apa pun:

<?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
}
);
fuxia
sumber
8
+1 (Edit) Ditambahkan ke Codexregister_sidebar() .
kaiser
Untuk beberapa alasan, area widget yang id dimulai dengan headcenderung tidak ditampilkan dengan benar di halaman admin, setidaknya bagi saya
Manny Fleurmond
Di WP 4.1 saya menemukan fenomena lain, ketika mendaftarkan sidebar dengan ID dalam notasi BEM, seperti widgets--aside(tanda hubung ganda), Area Widget muncul di Halaman Admin Widget, tetapi widget yang ditambahkan tidak tetap setelah meninggalkan halaman.
Volker E.
Sumber daya luar biasa. Saya bertanya-tanya mengapa mereka tidak menyelesaikan konflik penamaan dengan postfix, semacam awalan untuk widget ... IE _widget_${id}dll.
Eddie B
0

Anda harus menghindari beberapa -karakter, sepertitest1---test2

Nickyro
sumber
0

Tampaknya, Anda harus menghindari ID yang menyertakan awalan dari daftar di atas juga:

misalnya:

#footer-xxx
#footer-yyy

Pengaturan berikut awalnya berhasil, tetapi menghasilkan kesalahan (menggunakan tema monsun):

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

Dengan mengganti nama bilah sisi, kesalahan hilang. Saya belum mencoba tema lain. Jadi ini mungkin hanya berlaku untuk pengaturan saya.

Namun demikian, utas sangat membantu saya dalam mencari solusi :)

mathiasmadsen
sumber
Harap berikan beberapa konteks (dipanggang oleh contoh kode untuk misalnya).
kaiser
Menambahkan beberapa baris lagi untuk klarifikasi.
mathiasmadsen