Những gì được phép làm đối số id trong register_sidebar ($ args)


13

Tôi muốn đăng ký một thanh bên nhưng tôi hơi bối rối về việc sử dụng idđối số trong register_sidebarhàm.

Codex nói: id - Id thanh bên - Phải là tất cả bằng chữ thường, không có khoảng trắng (mặc định là ID tăng tự động số).

Đối số sử dụng là idđối số và nó phải luôn ở dạng số?.

Câu trả lời:


10

ID thanh bên được sử dụng để xác định duy nhất thanh bên cụ thể này. Nếu bạn không đặt nó và một cái gì đó tạo ra cái khác, bạn có thể thấy rằng thanh bên của bạn di chuyển ở đâu đó bất ngờ!

Nó không cần phải là số - bạn cũng có thể sử dụng chuỗi.


32

Câu trả lời của John Landells là tốt và chính xác.

Tôi muốn thêm Danh sách ID bị cấm hoặc dành riêng - những ID này có thể xuất hiện trên trang cấu hình widget /wp-admin/widgets.php. Nếu bạn sử dụng một trong những điều kỳ lạ này sẽ xảy ra do ID trùng lặp. Kéo và thả có thể sẽ không hoạt động nữa. Xem Vé # 14466 cho trường hợp rõ ràng nhất : #footer.

Cập nhật, ngày 17 tháng 9.: #footer Sẽ được cho phép trong WP 3.5 .
Cập nhật, ngày 11 tháng 11: Mỗi vé 14466 tất cả các ID vật dụng trong widgets.phphiện tại đều có tiền tố sidebar-. Danh sách sau đây sẽ bị lỗi thời với WordPress 3.5. Có lẽ.

Ngoài ra, một ID không nên bắt đầu bằng một số, đó là HTML không hợp lệ.

Các plugin đã cài đặt ảnh hưởng đến danh sách này: 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

Tôi đã thu thập ID bằng một plugin nhỏ có thể được sử dụng trên bất kỳ trang nào:

<?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 (Chỉnh sửa) Đã thêm vào Codexregister_sidebar() .
kaiser

Vì một số lý do, các khu vực widget có id bắt đầu có headxu hướng không hiển thị đúng trên trang quản trị, ít nhất là đối với tôi
Manny Fleurmond

Trong WP 4.1, tôi đã gặp một hiện tượng khác, khi đăng ký một thanh bên với ID trong ký hiệu BEM, như widgets--aside(dấu gạch ngang kép), Khu vực widget xuất hiện trên Trang quản trị widget, nhưng các widget được thêm không tồn tại sau khi rời trang.
Volker E.

Tài nguyên tuyệt vời. Tôi tự hỏi tại sao họ không giải quyết xung đột đặt tên với một tiền tố, tiền tố của một số loại cho các widget ... IE, _widget_${id}v.v.
Eddie B

0

Bạn phải tránh nhiều -nhân vật, nhưtest1---test2


0

Rõ ràng, bạn cũng phải tránh các ID bao gồm các tiền tố từ danh sách trên:

ví dụ:

#footer-xxx
#footer-yyy

Thiết lập sau đây ban đầu hoạt động, nhưng dẫn đến lỗi (sử dụng chủ đề gió mùa):

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

Bằng cách đổi tên thanh bên, các lỗi biến mất. Tôi đã không thử nghiệm trên các chủ đề khác, mặc dù. Vì vậy, điều này chỉ có thể được áp dụng cho thiết lập của tôi.

Tuy nhiên, do đó, chủ đề thực sự giúp tôi trong việc tìm kiếm một giải pháp :)


Vui lòng cung cấp một số ngữ cảnh (được nướng bởi các ví dụ mã chẳng hạn).
kaiser

Đã thêm một vài dòng để làm rõ.
mathiasmadsen 19/03/2016
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.