Hi ! Thank you for your theme. I have to modify templates of several Orion widgets as orion_recent_posts_carousel-template.php or orion_working_hours_w-template.php. I didn't find doc about it, or comments in the code. Usually, I have to recreate the exact hierarchy in my child theme, but it doesn't work here.
How can I override files of dentalia theme ? Thank you
As widgets are not theme templates, the classic WordPress procedure for overwriting theme templates will not work. In order to keep your changes upon theme upgrade, the safest way is to duplicate and rename the widget you want to modify. As each widget is a separate php class, they must be renamed, as the name of any php class must always be unique.
Also in order to keep the new widget in your child theme, a widget folder in your child theme must be registered with the SiteOrigin Page builder. Let's start with this part:
1. Register the widget folder in your child theme:
Change 'yourwidgetfolder' to your actual folder's name.
2. Rename the widget:
Copy entire widgets/so-widgets/orion-recent-posts-carousel/ to your child theme's widget folder.
2.1 Now rename this folder to something else like c-recent-posts-carousel
2.2 Inside this folder, there is a file orion-recent-posts-carousel.php -> rename it to c-recent-posts-carousel.php
2.3 There is also a tpl folder inside theRecent post widget folder, inside there is a file orion_recent_posts_carousel-template.php -> Rename it to c_recent_posts_carousel-template.php
2.4 Open the /yourwidgetfolder/c-recent-posts-carousel/c-recent-posts-carousel.php file with a text editor. Now find and replace 'orion_recent_posts_carousel' with 'c_recent_posts_carousel'.
Also change the name of the widget, replace '(OrionThemes) Recent Posts' with 'New Recent Posts'.
3. Activate it:
Now everything is ready, you just need to activate the new widget. In WordPress Dashboard go to Plugins -> SiteOrigin Widgets. Find your New Recent Posts widget and activate it.
Now just place your new widget in place of your old one.
Thank you for your feedback. It works only if I also rename 'get_category_array' and 'post_limit_array' functions and options. Otherwise, I have this errors :
Yes you're right. Thank you for getting back on this. I forgot about those extra functions. If you rename them, then you can have both versions of the widgets enabled. It shouldn't make any noticable difference in loading speed/performance.
Hi !
Thank you for your theme.
I have to modify templates of several Orion widgets as orion_recent_posts_carousel-template.php or orion_working_hours_w-template.php.
I didn't find doc about it, or comments in the code. Usually, I have to recreate the exact hierarchy in my child theme, but it doesn't work here.
How can I override files of dentalia theme ?
Thank you
Hi,
As widgets are not theme templates, the classic WordPress procedure for overwriting theme templates will not work. In order to keep your changes upon theme upgrade, the safest way is to duplicate and rename the widget you want to modify. As each widget is a separate php class, they must be renamed, as the name of any php class must always be unique.
Also in order to keep the new widget in your child theme, a widget folder in your child theme must be registered with the SiteOrigin Page builder. Let's start with this part:
1. Register the widget folder in your child theme:
Add this to your child theme functions.php file:
Change 'yourwidgetfolder' to your actual folder's name.
2. Rename the widget:
Copy entire widgets/so-widgets/orion-recent-posts-carousel/ to your child theme's widget folder.
2.1 Now rename this folder to something else like c-recent-posts-carousel
2.2 Inside this folder, there is a file orion-recent-posts-carousel.php -> rename it to c-recent-posts-carousel.php
2.3 There is also a tpl folder inside theRecent post widget folder, inside there is a file orion_recent_posts_carousel-template.php -> Rename it to c_recent_posts_carousel-template.php
2.4 Open the /yourwidgetfolder/c-recent-posts-carousel/c-recent-posts-carousel.php file with a text editor. Now find and replace 'orion_recent_posts_carousel' with 'c_recent_posts_carousel'. Also change the name of the widget, replace '(OrionThemes) Recent Posts' with 'New Recent Posts'.
3. Activate it: Now everything is ready, you just need to activate the new widget. In WordPress Dashboard go to Plugins -> SiteOrigin Widgets. Find your New Recent Posts widget and activate it.
Now just place your new widget in place of your old one.
Let me know, how it goes.
Andrej
OrionThemes
Hi Andrej,
Thank you for your feedback.
It works only if I also rename 'get_category_array' and 'post_limit_array' functions and options.
Otherwise, I have this errors :
Is it ok for you, or have I to unregister the original widget to register the modified one ?
Hi
Yes you're right. Thank you for getting back on this. I forgot about those extra functions.
If you rename them, then you can have both versions of the widgets enabled. It shouldn't make any noticable difference in loading speed/performance.
Kind regards,
Andrej
OrionThemes
Hi,
Perfect, thank you very much Andrej !
Clement