Different sidebars for each Wordpress page - wordpress

I'm making a Wordpress 2.9.2 theme, and I'd like each page to have its own sidebar than can be edited as easily as the page's content. It would be cumbersome to make a different template file for each sidebar. It would also be weird to add a "custom field" containing all the sidebar text, since I wouldn't be able to use the Visual/HTML editor. What I'd like is to have a tag similar to the tag, but instead of delimiting the content to be shown on the front page, it would split the post's content and sidebar. Is this possible? Or is there a better solution?

Make the sidebars widgetized and than use the widget logic plugin, so you can conditionally include widgets on any and all pages.
Doing this lets you utilize the out of the box widgets, which are awesome, and even integrated third party widgets that are just as great.
Also consider this: You widgetize other areas of your site, like your header, which can now use widgets and widget logic. This makes for a more flexible theme.

Related

I'm using child mylisting theme on wordpress , is there any way to add a button so that my changes appear on all listing pages between content

I'm using child mylisting theme on wordpress , is there any way to add a button so that my changes appear on all listing pages between content.
when adding the button shows like this
any way to add button in content area.
Easiest way is to use child theme. You can then copy across the appropriate template and add in the code for the button.
It sounds complicated but it's really quite simple. It's all explained in the theme documentation:
https://docs.mylistingtheme.com/article/installing-child-theme/

What is the difference between wordpress widgets and block

I have started learning wordpress recently. I have started from version 5 with this new Gutenberg editor which introduced Blocks. I am little confused regarding difference between this new Blocks concept and old Widgets.
Starting with a Blocks: they appear on page creation and can be added to page, there is nice documentation on wordpress webpage: https://developer.wordpress.org/block-editor/tutorials/block-tutorial/ a lot of stuff related to new blocks.
Everything is fine, but Blocks can be added only to page content and not into areas like: sidebar, footer etc.
For changing content of sidebar,footer areas we need to access Appearance->Widgets area where we can add multiple widgets to specific areas. Also for new Gutenberd Page Builder there is section called widgets available but with less number of widgets than under
Apperance->Widgets section.
Im totally confused. Could someone explain what is the difference betweemn Blocks and Widgets?
Why for areas like sidebar/footer we can add only widgets and editing footer is under Widgets menu?
Why only part of widgets are available for Gutenberg Page Editor
What should i do to create reusable code snippet(some html/css/js logic) to be reused on a page? Should i create a widget and somehow include it to widget section for Gutenberg or maybe i should create this new concept of Block? But i will not reuse my block in footer/sidebar section...
Are widgets something which will gonna die soon in wordpress world and will be totally replaced by Blocks? I remember that in previous version we were able to add widgets to page using some kind of shortcodes, so any widget we want? Is it still possible?.
I will appreciate any comments on that.
The Block Editor is so far being used only to generate "content". In the world of WordPress, that normally very generic word has a very specific meaning: whatever is returned by the function the_content(). Usually it's simply all the text and media input on the edit page of a post or page, though that can be modified by filters. This content is entered either in the classic editor's text box or (now) in one or more Gutenberg Blocks.
Widgets, on the other hand, display content outside the main content, in widget areas that your theme has located outside the main content in headers, sidebars, footers, etc.
I suspect you already know much of this. As to your question about code snippets, the simplest way to re-use code is through WordPress shortcodes. Register your shortcodes in functions.php or in a plugin; enable them in your theme; then use them anywhere. There is now a shortcode Block, by the way, for placing recurring content into main content.

Calling a Sidebar Created by WooSidebars within Timber

I've used WooSidebars in a lot of projects to allow for custom sidebars much like using ACF. This is the first time however I've decided to also use it within the Timber Framework. I have the sidebar registered within my functions.php and the sidebar itself works. Now if I create a sidebar from with WooSidebars and try to aside widgets to it, it seems that the overrides that WooSidebars is doing doesn't get picked up by Timber.
I'm calling:
$context['sidebar'] = Timber::get_widgets('page');
And within the plugin I'm creating a widget area to replace page on a contact us page with a different sidebar. Timber will only continue to pick up the page sidebar rather than the override. However if I call
$context['sidebar'] = Timber::get_widgets('contact-us-sidebar');
manually it'll work.
Is there a way to inform the Timber context that I need the WooSidebar supplied sidebar instead of the default, literal sidebar?
Over the years I've been able to solve this in two ways, though neither feels all that ideal for me, it's been getting the job done.
Don't use widgets to manage the sidebar content and instead manage it on-page within a custom field.
If you do want/need to use widgets I then create a dropdown custom field which has all the widgets in it, using their ID as the value. Then I grab this value and pass it into Timber::get_widgets to get the sidebar on I want for the page.

How to put a widget in a page

I am new to wordpress and I am trying to figure out how menus relate to widgets. Is there a way I can add a widget to a page? Not on the side bar but in the page.
Not easily, I'm afraid :( However, a 'sidebar' in WordPress can be any container in your website. It does not necessarily need to be on the side of your page. You can use register_sidebar() in your functions.php file to create a new sidebar, then simply display the widgets in your new sidebar with dynamic_sidebar(). It's your CSS that places the sidebar on the side of your page. If you look at it that way, you can instead use CSS to make a horizontal 'sidebar' for instance. The name 'sidebar' will most likely change at some point in the future to better reflect that.

Custom per-page sidebar widgets in Wordpress.. possible?

Let's say I'm doing a site about cars, and in the main content area there are a few paragraphs about a particular car.
In the sidebar, are several standard widgets. But I also want a widget with an 'info panel' about the particular car.
So what's the sanest way of putting in a per-page widget in Wordpress? I guess ideally the info-panel could be entered via the standard page editing in Wordpress. (or is this something a plug-in already covers?)
Widget Logic plugin:
http://wordpress.org/extend/plugins/widget-logic/
Another Option would be to download and install the Graceful Sidebar Widget. This plugin enables you to create a sidebar that with content specific to each page or post. You specify the sidebar content right inside the post edit screen. Hope this helps!
Enjoy!
Mike

Resources