Wordpress - Some child theme files are not recognized in the template - wordpress

I'm new to template designs and I'm trying out altering some things in the parent theme from the child theme.
My problem is that there are some files that are not recognized, for example the style.css from the child theme does work for me, but there are other files that I need to load in the child theme instead of the parent theme that I am not able to get them to work.
I am trying to get the /inc/core/shortcodes.php file recognized in the child theme, as there is an html <h4> tag that I want to replace with an <h3>.
The file structure is as follows:
Any help would be appreciated, best regards.

Child theme implementation isn't a universal thing in WordPress - each theme implements it in its own way (some very poorly), and not everything is necessarily overwritable through a child theme. Usually, only actual template files are overwritable. The specific file you're referencing (shortcodes.php) likely contains shortcodes added by the theme, not template data, so wouldn't generally be overwritable in that way.
The better way to handle what I suspect you're trying to accomplish (modifying how a specific shortcode works) would either be to use hooks in the shortcode (assuming the developer added them) to manipulate the shortcode output, or copy the shortcode(s) you want to modify into a file in your child theme, change the name (and function name) of the shortcode, and load it from the functions.php file. This also gets more complicated if you're using a theme with a page builder (Gutenberg, Visual Composer, Elementor, Cornerstone, Avia, Avada, Beaver Builder, etc). Most page builders use some form of shortcode under the hood to actually generate the displayed data. If your theme uses a page builder like this, and the shortcode in question has a corresponding element in the page builder, you'll also have to add a button for your modified version (or insert is using the "HTML" or "Code" element) to actually use it - the existing button wouldn't incorporate your changed code. All of the page builders mentioned above can be (and have been) extended in this way.

Related

How to create such buttons with Wordpress?

I'm very new to WordPress (tbh, it's my first time working with it). And I need to make a website as my school project using CMS. Creating pages with templates is alright, but I have a lot of troubles with buttons. I found this website, and I can see it using WordPress. I need such buttons as on this page https://movie-chooser.co.ua/random-movie-2/ (they appear when you hover over the image). Is this a default option for buttons in WordPress? If not, is there a plugin for this or what is the way to add them on my images?
First Install Elementor plugin https://wordpress.org/plugins/elementor/
and go to page when you add button and open page with elementor
and do drag and drop any element like button, space, text editor etc.
You have several ways to achieve that:
Overwritting Wordpress CSS
Using a plugin
Create your own shortcode
1 - Overwriting Wordpress CSS
If you manage to display all the elements using wordpress template, and your only issue is to display buttons over the images, then it should only be a matter of CSS
2 - Using a plugin
The idea here is to find a plugin that help you to create/display the informations you need (maybe you'll need to add functionnality to basic post though custom fields or using a custom post type).
Once you find the right plugin, again if the plugin dosen't directly offert some settings on the design then you'll have to overwrite the plugin's CSS rules to display the elements as you want.
3 - Create your own shortcode
If you're new to Wordpress I wouldn't recommend this method as it is kind of advanced, unless you're comfortable with PHP/HTML/CSS (optionaly JS).
This is the more flexible solution as you can basically control anything, but it will require you to understand some core concepts of Wordpress like WP Query and how custom queries works.
The idea here is to create a shortcode.
THis shortcode refere to a custom made PHP function, in which you can create a custom request to fetch the informations you need to display from Wordpress database, and display it in an HTML structure that you decide.
THen angain, you'll just have to customize it though CSS.
Note : no need to create a whole plugin if you decide to create a shortcode, you can use the template functions.php file for that.

Modifying a template part don't do anything

I try to modify a theme in WP and I just noticed that modifying a template part doesn't do anything. How is that possible? Tried on different browser to check if its cached and its not, how do I modify a theme part?
I'm using Academia Theme with LearnPress Plugin. I've made a Child theme and I'm trying to modify a file that is a theme part called content-course_list.php which is exactly the html that appears in the segment I want to modify. I just try to change a simple text that is "Read more". I found it, changed it and it doesn't update. I even put it in the child theme folder to make sure it gets it from there and nothing..
I don't use any cache plugins and the host is local (xampp).
It seems the theme has a "core" plugin (academia-core) as well, where its using some shortcode templates for parts of the website. I managed to find the text by its css class (found with chrome inspect in the page) while I searched in all the php files from theme and plugins. I hope this answer helps someone in the future.

Magento child theme overriden by custom theme on categories pages

I'm having trouble adapting a Magento Theme.
I'm using a child theme of a custom theme in order to be able to update this theme in the future. It has worked fine in home page and product pages linked from this page, but when I enter a category page and from there go to a product page, my child theme is not applied anymore (custom theme instead).
I tried a lot of things but oddly, no changes were visible. I even commented a css I was importing from the custom css style field in the admin, and it was still being applied. I flushed cache of course, but no results.
I must say that originally I had a folder with css inside the main theme default folder (magma/default/child_theme/css/style.css) and it was linked in the field as mentioned above. Then I made a copy of it and put it in magma/child_theme/css/style.css, which is the way a child theme must be, as I understand. I changed a color in this new css and no changes made. The first css is still being called. I don't know from where, since I commented the import, as I said.
Any idea where to look into?
Thanks!
You mentioned it's specifically categories and their products. I would check Catalog > Manage Categories then, specifically the Custom Design tab on whatever category/categories are giving you trouble.

Wordpress child theme or plugin?

I have a client that wants to have a custom form added as a page on his Wordpress site. His site is using the "Genesis" framework and is already using a child theme of "Manhattan". I can create the form as a page template from within the Manhattan directory but if they ever update, the changes will be lost. What should I do?
I suggest you make it a plugin with a shortcode that way you can use it on every page you want. And even posts (which don't use templates)
You also could take a look at form plugins, which are fine if you don't need advanced forms.
As long as you place your template inside the Manhattan directory -- assuming you don't place that directory inside of the Genesis directory -- you won't have a problem with over-writing on update of the Genesis theme. Child themes do not have to be inside the parent theme's directory, indeed, they sd not -- they sd be in the /themes directory. See, http://codex.wordpress.org/Child_Themes
it is a very complex form?
If you add a custom template to the existing theme you may loose the changes when the theme is updated.
If is a simple form, I'd use a plugin like contact form 7, or caldera forms.
If not (or you don't wan't to use a wp.org plugin), you can create your own plugin and register a shortcode, you can write all the form functionality at the plugin and use the shortcode in the WP editor.
This way you won't have any risks of loosing features due to a theme upgrade

What is the difference between a theme and a template?

I am trying to migrate my site to Drupal and I am confused about themes and templates. The look and feel of the pages in my current site are completely controlled by template files and CSS. How does it work in Drupal?
In drupal, a theme handles the appearance of the site and a template handles how your content is rendered.
Think of it like this: the template is used to render the content, then the theme is applied on that content.
Edit: So, your css files live with the theme in drupal, and have nothing to do with the templates.
In Drupal, a "theme" is just a special type of plugin that bundles together any number of templates (to control how a given piece of data gets rendered to HTML), CSS, JS files, images, and so on.
So, there is a single "template" for your oveevral page markup, a single "template" for how a sidebar block is rendered as HTML, and so on. All of them, bundled together and named, are referred to as a theme.
Look at it this way: It's possible to create a theme that has no templates. Such a theme would have CSS files that override drupal's default CSS files. Using such a theme would create a website that looks almost exactly like Drupal's default site, except it would have different colors, fonts and so on.
But if you want to change the positions of items on the page, what kinds of items are on the page and so on, you have to override the default templates by adding some of your own to your theme. These new templates let you alter what information Drupal displays and what kind of HTML Drupal will use to display it.
For example, say I want to clone StackOverflow, but I want to do it with Drupal. First thing I would do is create a new content type (call it a "question") that is just like a story but has extra fields to track voting and so on. Drupal's default templates won't know about these extra fields, so they won't display them.
So, what I do is I go into my theme and I add a new node.tpl.php file. This new template is just like the standard one, except I can add code that says "if this node is of type 'question', insert the voting gadget to the left of the body."
Does this help?
A theme is made up of a collection of template files. block.tpl.php, node.tpl.php, page.tpl.php are all template files which when combined with your CSS, JS and images produces a theme. In addition a themes can be inherited. A theme can be created with just CSS and no additional template files by inheriting from an existing theme, in which case the template files from the parent theme are used.
Another way to look at it is a theme is what you see and the template files are responsible for generating the markup.
I hope this makes it a little bit clearer.
I'm confused...
The first answer says that templates and themes have nothing to do with each other, while the second one says themes are just collections of answers.
Which one is right?
Drupal is having a template based theming system. You can define your own regions in page and can arrange the content according to that . There are some default template file such as page.tpl ,block.tpl ,node.tpl which are displaying different kind of contents .
You can write your own template file as needed for eg if you need to alter the display of user registration form or login page you can create a tpl file for that and have to redirect the data to that tpl file. You can add the css or js to these templates using drupals apis. This redirection has to be done in the themes template.php file
A theme is comprised of css, js, images, and template files. Each theme may include multiple template files.
Additionally, themes can be inherited, and a subtheme's template files could override the template files of its parent theme.

Resources