Несколько виджетов в одном сайдбаре вордпресс программируем. Как добавить дополнительный sidebar для виджетов в WordPress? Вот некоторые из его опций

** Manage and replace sidebars and other widget areas on your site with Custom Sidebars, a flexible widget area manager. **

Make custom sidebar configurations and be able to choose what widgets display on each page or post of your site.

Display Different Sidebars on Pages and Posts

Custom Sidebars allows you to dynamically display custom widget configurations on any page, post, category, post type, or archive page.

Custom Sidebars allows you to display custom widget configurations on any page, post, category, post type, or archive page.

“Custom Sidebars will go on my “essential plugins” list from now on. I am pleased by how easy it was to figure out and by how many options are available in the free version.” –

“This plugin does exactly what it says. It’s light, integrates well into WordPress and gives you tons of possibilities.” –

Every part of Custom Sidebars integrates seamlessly with the Widgets menu for simplicity and control. No confusing settings pages or added menu items, just simple core integration.

A Simple Flexible Sidebar Manager

** Custom Sidebars Includes: **
* Unlimited custom widget configurations
* Set custom widgets for individual posts and pages, categories, post types, and archives
* Seamless integration with the WordPress Widgets menu
* Works with well-coded themes and doesn’t slow down your site
* Set individual widget visibility – for guests, by user role, by post type, for special pages or categories
* Author specific sidebars – display a custom sidebar for each of your authors
* Clone and sync widget settings – quickly edit complex configurations
* Import and export custom sidebars – backup and share sidebars

Install Custom Sidebars and see for yourself why it’s the most popular widget extension plugin available for WordPress with over 200,000 active installs.

Custom Sidebars Is Fully-Loaded

If you manage multiple WordPress sites, run an agency, or offer WordPress managment services, Custom Sidebars is developed and supported by the team at WPMU DEV. Get the same quality and support for all your WordPress needs when you become a member:

  • for all things WordPress
  • site performance optimization for unlimited sites
  • for all your sites! (Not heard of her yet? She’s our award winning image optimization plugin)
  • security hardening
  • backups including 10GB cloud backups
  • site manager
  • and with dedicated resources

Get Custom Sidebars for targeted marketing, better widgets for each level of your membership site, or just to clean up bloated content on each page… then try all our other .

Contact and Credits

Screenshots

Installation

There are two ways of installing the plugin:

  1. Download the plugin, extract the zip file.
  2. Upload the custom-sidebars folder to your /wp-content/plugins/ directory.
  3. Active the plugin in the plugin menu panel in your administration area.

From inside your WordPress installation, in the plugin section.

  1. Search for custom sidebars plugin.
  2. Download it and then active it.

Once you have the plugin activated you will find all new features inside your “Widgets” screen! There you will be able to create and manage your own sidebars.

FAQ

Why can’t I see a widget menu?

This plugin requires your theme to have widget areas enabled, if you don’t have widget areas enabled you probably need to use a different theme that does!

Where do I set my sidebars up?

You have a sidebar box when editing a entry. Also you can define default sidebars for different posts and archives.

Why do I get a message ‘There are no replaceable sidebars selected’?

You can create all the sidebars you want, but you need some sidebars of your theme to be replaced by the ones that you have created. You have to select which sidebars from your theme are suitable to be replaced in the Custom Sidebars settings page and you will have them available to switch.

Everything is working properly on Admin area, but the custom sidebars are not displayed on the site. Why? It appears that only an Admin can choose to add a sidebar. How can Editors (or any other role) edit customs sidebars?

Any user that can switch themes, can create sidebars. Switch_themes is the capability needed to manage widgets, so if you can’t edit widgets you can’t create custom sidebars. There are some plugins to give capabilities to the roles, so you can make your author be able to create the sidebars. Try

Can I use the plugin in commercial projects?

Custom Sidebars has the same license as WordPress, so you can use it wherever you want for free. Yay!

Reviews

The premium version used to work flawlessly but not anymore as they discontinued it and the free one has not been updated for the past 8 months. I was using it with Genesis framework but recently all the widget items from the custom sidebars go missing so I have to reimport them again from the backup. it happens randomly with no error log.

Compared to other plugins the filters are too limited. E.g. one can"t define a sidebar which is displayed on pages, but not on the homepage. EDIT: Changed from 3 star to 2 star rating because the support replied with an irrelevant answer.

Contributors & Developers

“Custom Sidebars – Dynamic Widget Area Manager” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

3.2.3

  • Added “custom_sidebars_allowed_pages_array” filter to allow pages where Custom Sidebars can be loaded.
  • Fixed problem with double function declaration when Gutenberg is in use.
  • Removed “Sidebar Location” from build-in/theme sidebars to avoid misunderstandings.
  • Updated “WPMU Dev code library” to version 3.1.0.

3.2.2

  • Fixed a unclosed A tag.

3.2.1

  • Fixed a problem with sidebar replacement on front page.

3.2.0

  • Added ability show/hide widgets depend on screen size, using CSS media queries.
  • Added integration with “WP Multilang” – now you can choose a sidebar to depend on “WP Multilang” language.
  • Allow using categories and tags for pages.
  • Improved plugin initialization now, plugin classes are loaded only on necessary admin pages.
  • Improved UX for Custom Sidebars Metabox on special pages: “Front Page”, “Blog Page” and “WooCommerce Shop Page”.
  • Updated “WPMU Dev code library” to version 3.0.9.

3.1.6

  • Fixed an export problem on PHP 5.2, json_encode() have only one parameter.

3.1.5

  • Fixed a problem with saving an entry sidebars replacement.
  • Added ability to allow change sidebars by an entry author.

3.1.4

  • Fixed a problem with widgets display on IE11.
  • Handle custom taxonomies.
  • Updated “WPMU Dev code library” to version 3.0.6.

3.1.3

  • Added version to scripts, to avoid browser cache problem.
  • Fixed problems with widgets alignment on mobiles.
  • Improved custom sidebar edit modal, now it remembers “Advanced Edit” status.
  • Load JavaScript templates only on the widgets page.

3.1.2

  • Added integration with Polylang – now you can choose sidebar depend on Polylang language.
  • Added integration with WPML – now you can choose sidebar depend on WPML language.
  • Added check to avoid warnings when user delete term which is assigned to “Sidebar Location”.
  • Updated “WPMU Dev code library” to version 3.0.5.

3.1.1

  • Improved assets directories.
  • Improved widgets on very small screens.
  • Fixed bulk edit problem with resetting sidebars.
  • Fixed few notices on import screen.

3.1.0

  • Added a quick and a bulk edit to custom post types.
  • Added nonce check for set location, import & export actions to avoid CSRF vulnerability.
  • Fixed a problem with getting sidebars settings for nested pages with more than 2 levels.
  • Fixed a problem with widget visibility on taxonomy archive page.
  • Fixed a typo on Import/Export screen.

3.0.9

  • Added ability to turn off “Custom Sidebars” for certain roles.
  • Fixed a problem with a category, category archive, and post in category replacement.
  • Fixed a problem with removed “Category Archive” from “For Archives” options.
  • Fixed build in taxonomies problem on “Sidebar Location” edit window.

3.0.8.1

  • Fixed CSRF vulnerability. Props for .

3.0.8

  • Added bulk sidebars edit.
  • Fixed category archive and entry in category replaceable.
  • Visibility of “Custom Explain” link is limited only to front-end.

3.0.7.1

  • Fixed visibility of Custom Explain – now it is visible only for administrators.

3.0.7

  • Added ability to replace sidebars for category archive.
  • Added ability to replace sidebars for custom taxonomy archive.
  • Added ability to turn on Custom Sidebars Explain mode from Admin Bar.
  • Fixed a replacement problem on 404 pages.
  • Improved “Sidebar Location” popup – added a message when we do not have any replaceable sidebar.
  • Refactored “Column Sidebars” on post list screen.

3.0.6

  • Added width to “Custom Sidebars” column on entries list screen to avoid uncontrolled column width.
  • Added ability to add new sidebar using the only keyboard, after you fill name just push enter to move to the description field. Hit enter on description field to add a new sidebar.
  • Fixed “WPMUDEV Frash” message for pro version.

3.0.5

  • Improved columns display on post list screen – now “Custom Sidebars” column is hidden by default.
  • Prevent to load assets on front-end.
  • Updated “WPMU Dev code library” to version 3.0.4.
  • Fixed a CSS glitch on media library.
  • Fixed a JavaScript conflicting with CiviCRM plugin.
  • Fixed a problem with taxonomies.

3.0.4

  • Improved “Create a custom sidebar to get started.” box.
  • Upgraded “WPMU Dev code library” to version 3.0.3.
  • Fixed a problem with empty taxonomies, now we can see all taxonomies, including empty.
  • Fixed fetching posts.
  • Fixed a problem on the Customizer page – removed clone option.
  • Fixed Widgets Screen for Right to Left languages.

3.0.3

  • Removed WP Checkup banner.

3.0.2

  • Fixed compatibility issue with uBlock Origin and AdBlock Plus.
  • Fixed getting started box not appearing.

3.0.1.0

  • Added the “Create custom sidebar to get started.” box.
  • Fixed a problem with the link to disable accessibility mode.
  • Fixed UX problem with “plus” icon on visibility options.
  • Show advertising for “WP Checkup” in the whole admin area.

3.0.0.1

  • Fixed a problem with wp_enqueue_script() which was called too early.
  • Fixed a problem with advertising, which should stay close when you close it.

3.0.0.0

  • Fixed a conflicting with other plugins.
  • Improved functionality, free and pro versions have now the same functionality. The only difference is that the free version includes ads.

2.1.2.0

  • Fixed a problem with empty selectors.
  • Remove unnecessary HTTP header – it is only needed when we run cs-explains.
  • Update Dash notice.

2.1.1.9

  • Fixed problem with import widgets created before Custom Sidebars plugin was installed.
  • Fixed problem with sidebars on Front Page.

2.1.1.8

  • Added support and widgets links on the plugins page.
  • Fixed export problem, when two or more widget has the same name.
  • Fixed few “Undefined index” warnings.
  • Improved import preview screen.
  • Improved RTL languages on widgets screen.

2.1.1.7

  • Rollback last change with front page.

2.1.1.6

  • Fixed a bug when we try to use to get property of non-object in “maybe_display_widget()”.
  • If front page is a page, then we have now the same rules like we have on on page.

2.1.1.5

  • Added new filter “cs_replace_post_type” to filter post type inside function “determine_replacement()”.

2.1.1.4

  • Fixed problem with sorting and filtering.

2.1.1.3

  • Added check if there the function mb_strtolower() .

2.1.1.2

  • Sidebars are now sorted by name.

2.1.1.1

  • Fixed a problem with unclickable items on widgets admin screen.

2.1.1.0

  • Fixed undefined index in Sidebars Editor.

2.1.0.9

  • Fixed issue with broken link icon for cloned widgets.

2.1.0.8

  • Small improvements in the admin UI: Better scrolling, fix JavaScript errors and PHP notices.
  • Update third party libraries.
  • Small improvements in code.

2.1.0.4

  • Fix missing text-domain in translation.

2.1.0.3

2.1.0.2

  • Close possible security hole (XSS vulnerability).

2.1.0.1

  • Fix incompatibility with PopUp plugin.

2.1.0.0

  • Fixed: Sidebars could not be created on certain webserver setups.

2.0.9.9

  • Fixed: Minified CSS files included now.

2.0.9.8

  • Better: Add context-guide how to changes settings for static front-page.

2.0.9.7

  • New: Assign a Sidebar to 404 pages via the Sidebar Location dialog.

2.0.9.6

  • Fixed: In some browsers the “Add sidebar” popup was partially hidden.
  • Fixed: Sometimes the dropdown list of a multiselect list stayed open.
  • Fixed: Plugin now correctly loads the .po files to translate to other languages.
  • Some other small improvements.

2.0.9.4

  • Fixed: For some users the plugin was not loading anymore after updating to 2.0.9.1.

2.0.9.3

  • Fixed: Z-index issue in Dashboard where wide widgets where covered by the main-menu.
  • Fixed: Added compatibility for static front-page sidebars with version 2.0.9.

2.0.9.2

  • Fixed: Sidebar Locations “Front Page” and “Post Index” now work correctly.

2.0.9.1

  • Fixed: Sidebars now support unicode-text in name/description.
  • Minor: New debugging output that explains why a sidebar/widget is displayed.

2.0.9

  • Fixed: Fixed issue with WP sidebar chooser right after creating a new sidebar.
  • Fixed: Fixed various issues when flagging a sidebar s replaceable.
  • Fixed: Plugin will not load in accessibility mode but display a notice instead.
  • Minor fix: Make code compatible with PHP 5.2.4.
  • Minor fix: Slight improvement of AJAX stability.
  • Minor fix: Plugin now requires capability “edit_theme_options”.

2.0.8

  • Fixed: Fixed issue with settings not being saved correctly.

2.0.7

  • Fixed: Fixed issue with some people losing some sidebar settings after update.

2.0.6.1

  • Minor fix: Use WordPress core functions to get URL to JavaScript files.
  • Minor fix: Refactor function name to avoid misunderstandings.

2.0.5

  • Fixed: Meta box in post editor did show missing sidebars (e.g. after switching the theme).
  • Fixed: PHP warning about strict standards.

2.0.3

  • Fixed: JavaScript errors on Windows servers are fixed.

2.0.2

  • Fixed: Dashboard notification is now removed when clicking “dismiss”.

2.0.1

  • PHP 5.2 compatibility layer.

2.0

  • Complete UI redesign!
  • Many small bugfixes.

1.6

  • Added: WordPress filter “cs_sidebar_params” is called before a custom sidebar is registered.
  • Added: Add setting “CUSTOM_SIDEBAR_DISABLE_METABOXES” in wp-config.php to remove custom-sidebar meta boxes.

1.5

  • Added: Custom sidebars now works with BuddyPress pages.

1.4

  • Fixed: Individual post sidebar selection when default sidebars for single posts are defined.
  • Fixed: Category sidebars sorting.
  • Added: WP 3.8 new admin design (MP6) support.

1.3.1

  • Fixed: Absolute paths that leaded to the outdated browser error.
  • Fixed: Stripped slashes for the pre/post widget/title fields.

1.3

  • Fixed: A lot of warnings with the PHP debug mode on.
  • Improved: Styles to make them compatible with WP 3.6.
  • Fixed: Creation of sidebars from the custom sidebars option.
  • Removed: Donate banner. Thanks to the ones that have be supporting Custom Sidebar so far.

1.2

  • Fixed: Searches with no results shows default sidebar.
  • Added: RTL support (thanks to Dvir http://foxy.co.il/blog/).
  • Improved: Minor enhancements in the interface to adapt it to WordPress 3.x.
  • Fixed: Slashes are added to the attributes of before and after title/widget.

1.1

  • Fixed: Where lightbox not showing for everybody (Thanks to Robert Utnehmer).
  • Added: Default sidebar for search results pages.
  • Added: Default sidebar for date archives.
  • Added: Default sidebar for Uncategorized posts.

1.0

  • Fixed: Special characters make sidebars undeletable.
  • Added: Child/parent pages support.
  • Improved interface to handle hundreds of sidebars easily.
  • Added: Ajax support for creating an editing sidebars from the widget page.

0.8.2

  • Fixed: Problems with Spanish translation.
  • Fixed: Some CSS issues with WordPress 3.3.

0.8.1

  • Fixed: You can assign sidebars to your pages again.

0.8

  • Fixed: Category hierarchy is now handled properly by the custom sidebars plugin.
  • Added: Sidebars can be set for every custom post type post individually.
  • Improved the way it replace the sidebars.
  • Improved some text and messages in the back-end.

0.7.1

  • Fixed: Now the plugin works with themes like Thesis that don’t use the the_header hook. Changed the hook where execute the replacement code to wp_head.
  • Fixed: When a second sidebar is replaced with the originally first sidebar, it is replaced by the first sidebar replacement instead.

0.7

  • Fixed: Bulk and Quick editing posts and pages reset their custom sidebars.
  • Changed capability needed to switch_themes, and improved capability management.

0.6

  • New interface, more user friendly.
  • Added the possibility of customize the main blog page sidebars.
  • Added the sidebars by category, so now you can personalize all the post that belongs to a category easily in a hierarchical way.
  • Added the possibility of customize the authors page sidebars.
  • Added the possibility of customize the tags page sidebars.
  • Added, now it is possible to edit the sidebars names, as well as the pre-widget, post-widget, pre-title, post-title for a sidebar.
  • Added the possibility of customize the sidebars of posts list by category or post-type.

0.5

  • Fixed a bug that didn’t allow to create new bars when every previous bars were deleted.
  • Fixed a bug introduced in v0.4 that did not allow to assign bars per post-types properly.
  • Added an option to remove all the Custom Sidebars data from the database easily.

0.4

  • Empty sidebars will now be shown as empty, instead of displaying the theme’s default sidebar.

0.3

  • PHP 4 Compatible (Thanks to Kay Larmer).
  • Fixed a bug introduced in v0.2 that did not allow to save the replaceable bars options.

0.2

  • Improved security by adding wp_nonces to the forms.
  • Added the pt-widget post type to the ignored post types.
  • Improved i18n files.
  • Fixed screenshots for documentation.

Сайдбар в WordPress стал неотъемлемой частью сайта. Его использование открывает огромные возможности для разработчиков тем и пользователей платформы WordPress. На всевозможных блогах отводиться большое количество времени описанию добавления, удаления и настройкам сайдбара. В данном вопросе и мой блог не стал исключением, сегодня я постараюсь рассказать о как можно большем количестве настроек и всех возможных махинациях над боковой колонкой сайта на WordPress.

Эту статью я специально публикую перед написанием очередной статьи по посвященной выводу сайдбара и его внедрением в шаблон. Хочу при написании урока уже иметь необходимую базу материала о сайдбарах WordPress, что бы не останавливаться и не рассказывать все до мелочей.

После небольшого отступления перейдем к нашим «баранам» и окунемся в суть работы с темами, а именно рассмотрим боковое меню WordPress.

Перед тем, как приступить к рассказу и вникнуть в код и настройки, очерчу несколько нюансов, которые вы скорее всего знаете, связанных с боковыми панелями:

Сайдбар сайта - правая или левая части сайта, отвечающая за донесение дополнительной информации и участвующая в навигации по сайту. Возможно использование и правой и левой боковой колонки одновременно.

Использование сайдбара в WordPress имеет более широкий диапазон действий, он может быть размещен где угодно, в шапке, сбоку, в подвале, и вмещать в себя самые разнообразные элементы, о которых и пойдет речь в этой статье.

Регистрация сайдбара в WordPress. Как добавить сайдбар в WordPress

Вывод сайдбара WordPress происходит по определенному принципу, при помощи вызова в файлах шаблона и регистрации в файле functions.php функцией register_sidebar().

Будьте внимательны, перед регистрацией сайдбара убедитесь что он ранее не был зарегистрирован. При наличии нескольких регистраций с одним и тем же id, возможно возникновение ошибок. Перед редактированием сторонних шаблонов, стоит убедиться что сайдбар не «завязан» к каким-то функционалом шаблона.

Первым делом откроем файл functions.php и напишем функцию регистрации сайдбара:

Function my_register_sidebars() { /* регистрация правого сайдбара */ register_sidebar(array("id" => "right-side", // уникальный id для сайта, назначается правому сайдбару "name" => "Правая колонка", // название сайдбара, которое будет отображаться в админке "description" => "Перетяните виджеты, чтобы добавить их в сайдбар.", // описание выводимое в админке для сайдбара "before_widget" => "

  • -списком "after_widget" => "
  • ", // в этой и предыдущей строке мы задали контейнер в котором будет размещен сайдбар "before_title" => "

    "after_title" => "

    ")); /* регистрация левого сайдбара */ register_sidebar(array("id" => "left-side", // уникальный id для сайта, назначается правому сайдбару "name" => "Левая колонка", // название сайдбара, которое будет отображаться в админке "description" => "Перетяните виджеты, чтобы добавить их в сайдбар.", // описание выводимое в админке для сайдбара "before_widget" => "", // в этой и предыдущей строке мы задали контейнер в котором будет размещен сайдбар "before_title" => "

    ", // если оставить пустым, будет выводиться в

    "after_title" => "

    ")); /* регистрация сайдбара для футера */ register_sidebar(array("id" => "footer-side", // уникальный id для сайта, назначается правому сайдбару "name" => "Нижний сайдбар", // название сайдбара, которое будет отображаться в админке "description" => "Перетяните виджеты, чтобы добавить их в сайдбар.", // описание выводимое в админке для сайдбара "before_widget" => "
    ", // по умолчанию виджеты выводятся
  • -списком "after_widget" => "
  • ", // в этой и предыдущей строке мы задали контейнер в котором будет размещен сайдбар "before_title" => "

    ", // если оставить пустым, будет выводиться в

    "after_title" => "

    ")); } add_action("widgets_init", "my_register_sidebars");

    Вставив этот код в файл functions.php мы зарегистрировали сразу два сайдбара боковых - правый, левый и отдельно сайдбар для футера. Также вы можете регистрировать только один сайдбар или добавить еще по необходимости, к примеру в средину страницы.

    Сайдбар зарегистрирован, теперь нужно его вывести в нужном месте. Именно этим мы и займемся далее.

    Как добавить sidebar в wordpress тему

    Принцип добавления сайдбаров

    Если вы пишите тему для своего сайта, и регистрировали сайдбар для виджетов WordPress что бы в нем что-то находилось, тогда смело можете выводить его в нужном месте используя следующий код:

    При написании шаблонов на заказ или для стороннего использования, стоит проверять наличие виджетов WordPress, о них можно почитать . Возможно пользователь вашей темы откажется от использования сайдбара на сайте и ему ни к чему будут пустые блоки на странице. Для проверки использования виджетов и добавления сайдбара в WordPress тему используют следующее:

    Мы проверили существуют ли виджеты в правом сайдбаре и вывели их на странице. По аналогии, заменяя лишь значение ID сайдбара (right-side) на нужный нам, мы сможем вывести все блоки на страницу в необходимом месте.

    Куда добавить код для вывода сайдбара в WordPress

    Для сайдбаров в вордпресс зарезервирован файл шаблона sidebar.php. Именно в нем в большинстве случаев описывается все необходимое (обертки панелек, условия для вывода на определенных страницах и т.д.)

    Если у вас один сайдбар, тогда добавляйте его код в sidebar.php, и подключайте его в нужном месте в файле index.php с помощью функции:

    При использовании нескольких сайд баров вам нужно будет создавать дополнительные файлы к примеру sidebar-right.php, sidebar-left.php и sidebar-footer.php.

    Поместив необходимый участок кода в нужный файл, подключение к индексному будет происходить следующим образом:

    Месторасположение подключения вы выбираете самостоятельно. Значение в скобках должно соответствовать названию файла (sidebar-right .php), выделено жирным.

    Как убрать сайдбар в WordPress?

    Я детально рассказал как добавить сайдбар в WordPress, теперь пойдем от обратного и начнем удалять. Составлю небольшой план как убрать сайдбар в WordPress (перед редактированием файлов обязательно сделайте их копии и пользуйтесь , не редактируйте с админки):

    • Заходим в папку с темой и открываем следующие файлы functions.php, sidebar.php и index.php;
    • ищем и удаляем регистрацию сайдбара в файле функций, как он выглядит описано выше в статье.
    • переходим к файлу sidebar.php и удаляем вызов боковой колонки (нужно удалить все что связано с dynamic_sidebar(), пример так же есть выше).
    • идем в индексный файл и удаляем подключение файлов сайдбара (get_sidebar()).

    Это муторная работа, и для не знающих может быть проблемой, но если вам это действительно нужно, тогда разберетесь.

    Для добавления необходимых плагинов и дополнений на страницу в WordPress необходимо просто перетащить в админке интересующий вас виджет на sidebar. Таким образом, даже новички в движке WordPress могут без осложнений видоизменить свою боковую панель (и не только её).

    Порой разработчики темы предоставляют на выбор несколько возможных сайдбаров, куда вы можете перетащить widget . Но бывают и темы, где сайдбаров 1-2, и они используются чисто для нужд самой темы (то есть новые виджеты вы туда запихнуть не сможете).

    Да и даже бывает, что вам просто захотелось добавить новый сайдбар для разграничения логики или с другим оформлением.

    Для начала необходимо зарегистрировать ваш сайдбар. Это можно сделать в файле functions.php в папке с шаблоном. Некоторые разработчики шаблонов создают спец. функцию по регистрации сайдбаров. К примеру, function twentyten_widgets_init() {} . Это не принципиально. Просто найди то место в коде, где происходит регистрация. Выглядит это примерно так:

    Register_sidebar(array("name"=>"Site description", "before_widget" => "

    ", "after_widget" => "
    "));

    Как добавить свой сайдбар?

    Когда найдётся участок кода, где регятся сайдбары, можете по аналогии зарегистрировать свой. Как пример:

    Register_sidebar(array("name" =>"Second sidebar", "id" => "secondary-widget-area", "before_widget" => "

  • ", "after_widget" => "
  • ", "before_title" => "

    ", "after_title" => "

    ",));

    Name — название вашего sidebar. оно будет отображаться в админке.

    id — уникальный идентификатор. Он вам понадобиться при добавлении на страницу (об этом ниже).

    before_widget — код/текст, который будет вставлен перед каждый виджетом.

    after_widget — соответственно, код/текст, который будет вставлен после каждого виджеа.

    before_title — код/текст, который будет вставлен перед заголовком виджетов.

    after_title — код/текст, который будет вставлен после заголовком виджетов.

    После добавления выше приведённого кода в файл, сохраните его и зайдите на страницу виджетов в административной панели. Теперь точно так же, как и с остальными сайдбарами, вы можете перетаскивать на новый необходимые виджеты. Чтобы этот сайдбар отобразился на вашем веб-сайте, вам нужно открыть соответствующий файл шаблона, а именно sidebar.php , и найти код:

    Вам необходимо в том месте, где вы хотите видеть свой сайдбар, добавить его между открывающим и закрывающими тегами. Будет примерно так:

    Для красивого вывода, можете включить этот код в блок:

    Как вы уже наверно заметили secondary-widget-area при выводе на странице — это имя сайдбара. Оно должно быть точно таким же, как имя указанное при регистрации в файле functions.php . Теперь, редактируя файл style.css придать сайдбару нужный вид.

    Прежде всего давайте уточним несколько общих моментов про сайдбары:

    • Сайдбар — это область сайта слева или справа от основного контента (одним словом боковая колонка),
    • Сайдбар в WordPress — это любая область на сайте, в которой выводятся виджеты;

    В обоих случаях предназначение у сайдбаров одинаковое — навигация по сайту, ссылки на социальные сети, виджеты соц сетей, виджеты каких-либо сторонних сервисов (например поиск авиабилетов) и т.д.

    Единственное отличие определения сайдбара в WordPress это то, что он может находится где угодно на странице сайта (но чаще всего это боковые колонки справа и слева от контента и футер).

    В этом шагу мы рассмотрим пошагово как создать два сайдбара — один в боковой колонке и один в подвале (футере) сайта.

    Шаг 1. Регистрация сайдбара

    Для начала скажу, что в разных темах WordPress сайдбары регистрируются по-разному, в некоторых ещё до сих пор используется способ 2007-го года. Почему? Да просто некоторые липовые разработчики любят неосознанно копировать код из других тем, их даже не волнует, что тема, которую они используют в качестве своего «на все случаи» шаблона, не обновлялась более 5 лет.

    Это я к тому, что код, который я дам вам сегодня может отличаться от кода, используемого в вашей теме — пусть это не станет поводом для волнений, просто замените старый код на новый.

    Как я уже говорил, мы будем создавать два сайдбара — в боковой колонке и в футере, в этом нам поможет функция (если что-то будет непонятно в коде — смотрите документацию функции). Хук widgets_init обязателен!

    Код для файла functions.php:

    function true_register_wp_sidebars() { /* В боковой колонке - первый сайдбар */ register_sidebar( array ( "id" => "true_side" , // уникальный id "name" => "Боковая колонка" , // название сайдбара "description" => "Перетащите сюда виджеты, чтобы добавить их в сайдбар." , // описание "before_widget" => "

    " , // по умолчанию виджеты выводятся
  • -списком "after_widget" => "
  • " , "before_title" => "

    " , // по умолчанию заголовки виджетов в

    "after_title" => "

    " ) ) ; /* В подвале - второй сайдбар */ register_sidebar( array ( "id" => "true_foot" , "name" => "Футер" , "description" => "Перетащите сюда виджеты, чтобы добавить их в футер." , "before_widget" => "
    " , "after_widget" => "
    " , "before_title" => "

    " , "after_title" => "

    " ) ) ; } add_action ( "widgets_init" , "true_register_wp_sidebars" ) ;

    Вот что получилось у меня на странице Внешний вид > Виджеты:

    Уже сейчас вы можете добавлять и настраивать виджеты в сайдбарах, теперь осталось только вывести их на сайте.

    Шаг 2. Как отобразить сайдбары на страницах сайта?

    Как и в случае из первого шага, в разных темах вы можете найти разный код, отвечающий за вывод сайдбаров на сайте. Я рассмотрю только один способ, который использую сам, с использованием функций и .

    В двух словах о том, для чего нужны эти функции:

    • — проверяет, есть ли в сайдбаре виджеты,
    • — выводит сайдбар;

    Давайте теперь выведем те два сайдбара, которые мы создавали в прошлом шаге. И начнем с боковой колонки:

    Куда вставлять код? Ну где хотите вывести сайдбары, туда и вставляйте. Не уверены в какой файл? Ну, вообще это полностью зависит от вашей темы, но вероятнее всего, что код боковой колонки вставлять в sidebar.php , а код футера в footer.php . Возможно вам ещё пригодится документация функций и .

    Каждый из нижеперечисленных советов поможет избежать весьма серьёзных багов на сайте, однако, если вы хорошо разбираетесь в PHP и WordPress, ничего нового из этих советов вы не узнаете.

    • Если выводимый садбар не имеет виджетов, то при помощи if и else можно задать код, который будет выполняться в этом случае:

      if ( is_active_sidebar( "true_foot" ) ) : dynamic_sidebar( "true_foot" ) ; else : // код по умолчанию на случай, если сайдбар пустой endif ;

    • Не нужно использовать PHP-функцию function_exists() для функции и других функций WordPress. Просто иногда используют. Это ни к чему.
    • Некоторые подключают файл sidebar.php через include() или require() . Чего вы хотите этим добиться? Увеличения производительности? Сомневаюсь, что причина медленной загрузки вашего сайта кроется именно в этом. А для подключения sidebar.php используем специально предназначенную для этого функцию

    Большинство шаблонов WordPress оснащены сайдбарами с областями виджетов. Это позволяет поместить в боковую колонку тот или иной , и таким образом увеличить функциональность сайта. Сайдбар WordPress традиционно выполняется в вертикальном виде в боковой колонке. Но это вовсе не аксиома.

    Сайдбар WordPress может быть и горизонтальным, и располагаться вверху или внизу сайта. Это пространство тоже может быть полезно использовано виджетами. В этой статье мы покажем вам, как сделать такую область виджета под контентом, то есть внизу сайта. Мы не будем применять распространённый метод, связанный с PHP программированием и редактированием шаблона. Мы покажем более простой способ – плагин.

    Горизонтальный нижний сайдбар WordPress с плагином Add Widget After Content

    По названию плагина Add Widget After Content уже понятно, для чего он нужен. Он добавляет сайдбар WordPress (а, соответственно, и область виджетов) после контента, то есть внизу сайта. Плагин отличается простотой и мягким методом работы, то есть он безопасно инъекцирует новый сайдбар в установленный шаблон, и если функциональность плагина вас не устраивает, вы можете удалить его и вернуть всё так, как было. Это не создаст больших затрат времени.

    Чтобы начать работать с плагином, скачайте его, установите и активируйте. Чтобы появился новый сайдбар WordPress, необходимо сначала настроить это дополнение. Для этого переходим в пункт консоли «Внешний вид» и выбираем подпункт «Add Widget After Content Options». Как и было сказано вначале, здесь всё очень просто, всего две опции:

    • Post Types. Выбираем, в каких типах контента будет отображаться новый сайдбар WordPress. Можно выбрать записи и страницы. Также плагин поддерживает и пользовательские типы контента, которые имеются в установленном шаблоне.
    • Post Formats. Выбираем? в каких форматах контента будет отображаться дополнительный сайдбар. Так же, как и в первом случае, есть поддержка костюмных типов форматов.

    Выполните соответствующие настройки и сохраните изменения. Теперь перейдите в пункт консоли «Внешний вид» и выберите подпункт «Виджеты». В первой части, где указывается перечень имеющихся сайдбаров WordPress, вы увидите новый, который называется «After content». Теперь можно в него перетаскивать нужные виджеты, и смотреть, как это всё будет выглядеть на сайте.

    Обязательно ознакомьте с , в которой мы рассказываем о дополнительных виджетах, которые могут быть полезны, и которых нет в стандартном наборе WordPress.