I'm working on a theme product for Plone 3.2.3. My theme product works perfectly on the default Plone installation. However, when I apply it to our existing site all the features of my theme are applied except the modifications to the main template.
The product file structure is based on the paster plone3_theme template and the files I've modified are as follows:
my.theme/
my/
theme/
browser/
configure.zcml
templates/
site_actions.pt
...
viewlets.py
viewletmanagers.py
profiles/
default/
viewlets.xml
skins/
my_theme_custom_templates/
main_template.pt
All of the changes I made in the browser/ and profiles/ directories are applied (including custom templates), but the custom main template is not.
You need to make sure, that the my_theme_custom_templates folder is loaded before the plone_templates folder.
Go to http://localhost:8080/PLONE/portal_skins/manage_propertiesForm and check if your my_theme_custom_templates is on the second place in your active skin ("Skin selections"). Usually custom is on the first place, than you need to make sure your skin folders are directly underneath the custom folder or at least before plone_templates. Also check which skin is active in Default skin.
Related
I am developing my WooCommerce theme (hereinafter referred to as WC).
WC does not see the single-product.php template, and load index.php instead. At the same time, on the catalog page, the custom archive-products.php is loaded.
Guys, neither custom nor original single-product.php is loaded. Tell me, please, what to do?
I did:
Create woocommerce directory in theme folder
Inside mytheme/woocommerce I placed custom archive-products.php and single-product.php
I added WC support in functions.php. I checked the support in the site admin panel - everything is ok.
Check the directory again and make sure the file name is correct. it must be archive-product.php Not archive-products.php.
It's better if you copy the plugin template file in your theme directory then modify it.
Example: To override the archive-product.php, copy: wp-content/plugins/woocommerce/templates/archive-product.php to wp-content/themes/yourtheme/woocommerce/archive-product.php
Reference: https://woocommerce.com/document/template-structure/#how-to-edit-files
How do I change a WordPress Theme name and keep it changed after an update? I have tried renaming the wp-content/themes/ folder, and the name inside the style.css file as well. However, the theme goes back to its original name after the update.
Perhaps there is a plugin that automatically overwrites the theme name and renames its folder to make it white label?
Steps that I have already done:
wp-content/themes/<renamed theme> - Changed theme name
Changed name inside theme's style.css file
Anything I can do to make the theme name automatically renamed even after the theme's automatic update (have to keep it due to security).
Change the name in the /themes/[renamed theme]/style.css
The line > Theme Name: [change it here]
If you update a theme via the WordPress admin it will overwrite all of its content. If you don't want it to update, try also changing the version to something really high in the style.css.
Example:
Version: 99.99
If you still want the renamed theme to update automatically it will always update all files. This can't be avoided.
Why not just use a child theme instead? https://developer.wordpress.org/themes/advanced-topics/child-themes/
I am updating an installation of buddypress (1.5) to the most recent version (2.1.1). I have updated the files and am now trying to update the theme to use the template hierarchy pattern.
For this I created the following directory structure within my theme:
my-theme/
buddypress/
groups/
index-directory.php
index-directory.php contains a single die('debug') statement for testing.
If I copy this buddypress directory into the twentyfourteen directory and activate that theme, I am seeing the debug message when I'm on the group listing page. However, when I use my custom theme, the message is not showing up.
This tells me that the template hierarchy is not being applied on my theme. Why could that be?
I suspect that somehow my theme is being treated as a legacy theme, I don't understand why though. I commented out the whole functions.php to make sure it's not because of aynthing in there. The header comment in the style.css does not contain anything special either.
Any help on this?
Thanks.
The problem was my own mistake. Our theme stylesheet had a Template: bp-default in it. I didn’t notice it at first because our theme is named similarly and my mind read it as the title of our theme. If I remove it, my templates are included.
For anyone stumbling on this problem in the future, here are the reasons why the template hierarchy could be deactivated by Buddypress:
Theme compat is disabled when a theme meets one of the following criteria:
1) It declares BP support with add_theme_support( 'buddypress' )
2) It is bp-default, or a child theme of bp-default
3) A legacy template is found at members/members-loop.php. This is a
fallback check for themes that were derived from bp-default, and have
not been updated for BP 1.7+; we make the assumption that any theme in
this category will have the members-loop.php template, and so use its
presence as an indicator that theme compatibility is not required
https://buddypress.org/support/topic/default-theme-is-still-showing/
It seems that an edited copy of shortcodes.php in child-theme of mezzanine flat theme is not working (does not override the parent theme)
I tried copying the whole lib folder where shortcodes.php is located but still not working. Is there anything I need to do to make it work? Other common pages of wordpress (i.e. header and page) override smoothly on child pages.
Thanks in advance.
You can't override shortcodes.php because the child theme replace only template files
But you can create a new file, like custom_shortcodes.php with your custom shortcode, save in your child theme and then include it in functions.php ( include 'custom_shortcodes.php'; )
Does anyone have experience with Gantry Framework?
I am wondering if it is possible to create a child theme based off of the default? Where would I put my css file and can I build off of the current css instead of starting from scratch while still separating my css from the default theme?
Apart from the usual process of creating a WordPress child theme (create a directory, with proper style.css and functions.php), Gantry requires a specific procedure.
You'll need to copy two files from the parent directory to the child theme directory, keeping the structure:
/gantry/theme.yaml
and
/includes/theme.php
Then, edit the copied theme.yaml: the parent must be your parent theme directory name.
On the theme.php, select all text and replace with this:
// Initialize theme stream.
$gantry['platform']->set(
'streams.gantry-theme.prefixes',
array('' => array(
"gantry-themes://{$gantry['theme.name']}/custom",
"gantry-themes://{$gantry['theme.name']}",
"gantry-themes://{$gantry['theme.name']}/common",
"gantry-themes://{$gantry['theme.parent']}",
"gantry-themes://{$gantry['theme.parent']}/common"
))
);
As for css, you must create this file, within your child theme directory:
/custom/scss/custom.scss
It can be formatted in either SCSS or CSS, and will override the theme's core style sheet files.
Creating a Child Theme is very easy.
All you need to do is create a directory in your theme directory, and name it something like "Gantry-child". Inside that folder, add a file called "style.css". Once this is done, you just need to add the Theme Information that tells Wordpress the Child Theme's Name, Author, and Parent Theme.
Inside the new style.css, add:
/*
Theme Name: Gantry Child
Template: rt_gantry_wp
*/
The most important part that lets Wordpress know that this is a child of the Gantry Theme is the "Template" section. This is the name of the PARENT directory in your Themes folder.
What this will do is create a new theme that inherits all of the parent theme's functions. If you also want to inherit the existing parent theme stylesheet, add to style.css:
#import url("../rt_gantry_wp/style.css");
Hopefully this should get you started. Once that's done, you can add your own header, footer, index, functions, or anything else you can think of to extend the parent theme's functionality.
Hopefully this helps get you started.