사이드 바를 등록하고 싶지만 함수 에서 id
인수 사용에 대해 약간 혼란 스럽습니다 register_sidebar
.
Codex의 말 : id-사이드 바 id-공백없이 모두 소문자 여야합니다 (기본값은 숫자가 자동 증가하는 ID 임).
id
인수 는 어떤 용도로 사용되며 항상 숫자 형식이어야합니까?
사이드 바를 등록하고 싶지만 함수 에서 id
인수 사용에 대해 약간 혼란 스럽습니다 register_sidebar
.
Codex의 말 : id-사이드 바 id-공백없이 모두 소문자 여야합니다 (기본값은 숫자가 자동 증가하는 ID 임).
id
인수 는 어떤 용도로 사용되며 항상 숫자 형식이어야합니까?
답변:
John Landells의 대답은 좋고 정확합니다.
금지 또는 예약 된 ID 목록 을 추가하고 싶습니다. 이러한 ID는 위젯 구성 페이지에 나타날 수 있습니다 /wp-admin/widgets.php
. 이 중 하나를 사용하면 ID가 중복되어 이상한 일이 발생합니다. 드래그 앤 드롭은 더 이상 작동하지 않을 것입니다. 가장 명백한 사례는 티켓 # 14466 을 참조하십시오 #footer
.
업데이트 지난달 17 : #footer
됩니다 WP 3.5에서 허용 .
업데이트 11 월 11 일 06 : 티켓 14466 당 모든 위젯 ID widgets.php
앞에 접두사가 붙습니다 sidebar-
. 다음 목록은 WordPress 3.5에서 더 이상 사용되지 않습니다. 아마.
또한 ID는 숫자로 시작해서는 안되며, 이는 유효하지 않은 HTML입니다.
이 목록에 영향을주는 플러그인 ( 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
모든 페이지에서 사용할 수있는 작은 플러그인으로 ID를 수집했습니다.
<?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
}
);
head
은 관리자 페이지에서 제대로 렌더링되지 않는 경향이 있습니다
widgets--aside
(더블 대시) 와 같이 BEM 표기법으로 ID가있는 사이드 바를 등록 할 때 위젯 영역이 위젯 관리 페이지에 나타나지만 추가 위젯은 페이지를 떠난 후에도 남아 있지 않습니다.
_widget_${id}
등
분명히 위의 목록에서 접두사를 포함하는 ID도 피해야합니다.
예 :
#footer-xxx
#footer-yyy
다음 설정은 처음에는 작동했지만 오류가 발생했습니다 (몬순 테마 사용).
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>',
) );
사이드 바의 이름을 바꾸면 오류가 사라졌습니다. 그래도 다른 주제에 대해서는 테스트하지 않았습니다. 따라서 이것은 내 설정에만 적용 할 수 있습니다.
그러나 스레드는 실제로 솔루션을 찾는 데 도움이되었습니다. :)
register_sidebar()
추가되었습니다 .