This week was all about focusing on design – or rather trying to adjust the designs and it not working.
This week I spent a few hours trying to make a child theme for my current WordPress portfolio theme: Perfect Portfolio. Long story short it didn’t end up working. I thought I would try to set up a child theme, mainly so that I would be able to adjust the colour in the portfolio. This one of the main critiques mentioned in the peer review, and something I have been wanting to adjust for some time now. It seems to be a limitation of my theme that I am unable to customize the colours aside from merely the background. This means that design elements such as the hover and link colours, as well as the strike-through, are fixed. Right now they are very bright green, which in my opinion clashes with the rest of the website. I am not a fan of these colours and thought that because I do have some limited experience with HTML and CSS that I would be able to simply alter the code.
I was proved wrong very fast because setting up a child theme is more complex than I realized. In theory, it seems like an easy concept you make a new theme folder containing a CSS and PHP file that will first point to the parent theme and then excuse any new code in those files last so that they can override another styling.
This makes sense on a whole and is not the most difficult to excuse besides two important facts:
- I don’t know how to code in PHP
- Importing parent content may be challenging.
Originally I was following the resources list in the posiel website but upon research, it turns out this is outdated, and not considered best practice anymore. The current standard is to use a PHP file with specific functions to connect to the parent file. I found a few resources online such as the WordPress developer site, and a tutorial. Following this was straight forward I used a code editor I already had on my computer (Visual Studio Code) and copy/paste the information from the resources. Using reclaim’s file manager I was able to access the original files and upload my new theme documents in a new folder. All this was going great and I felt like even though I had limited knowledge I might be able to squeeze by.
However, when I attempted to activate the theme, all of the CSS stylings broke. It was merely a set of basic HTML pages, and all the previous style of my theme was lost, meaning that the parent theme was not correctly imported. From here I spent a few hours trying to fix the PHP code, which ultimately ended with a syntax error that crashed the whole site. Syntax errors are errors in the coding language that the compiler is either not expecting or cannot compute, such as misspelling, forgotten brackets etc. A syntax error will one day be the death of me. In this case, the PHP file said there was a syntax error for a dash when it was expecting a bracket. Now, this is where my lack of PHP knowledge does a disservice because I don’t even what the correct syntax is supposed to look like! I put the code through a few validators but they all got the same syntax error without providing me with a way to resolve. So at this point, my site is completely crashed and I cannot open anything.
I ended up trying to contact Reclaim Hosting who was amazing. Even though they can’t give any content-coding support they took a look at the issue anyway. They were able to fix the syntax error somehow which brought the site back online but were unable to get the proper styling for the child theme. At this point, I didn’t want anything else to break my site and re-activated the original theme.
I share this story because I feel like its something a lot of designers, and perhaps even everyone can relate to at some point in their life:
In this sense, I knew what I wanted to achieve but because of my lack of PHP knowledge, and WordPress backend, I wasn’t able to complete it. Furthermore, after hours of trial and error work, I don’t have anything to show for it. As a designer this is one of my main frustrations, putting in the effort but having nothing to show for it. I believe this was a good exercise in prating those skills and building up my knowledge, but I am still disappointed I could not get it to work.