Divi Builder not loading saved layout - wordpress

I have a problem with Divi Builder. I am using Pagely to clone one site into a staging environment. The cloning part goes well and everything is in place.
When I try to access a page on the staging in order to edit it (Via Divi builder) the structure is not there. If I go back to the public are I can see the page structure in place and also I can confirm that the data is there because I checked using inspect that the poststuff text area contains the same data.
It seems that on the staging the structure under et_pb_main_container is not loaded properly
Instead if I check the live site the structure looks like this:
Finally the frontend displays:
Instead of what I am able to see on the live site:

Have you tried saving the layout to the library? I would give that a shot then load it and see if that jogs the content.

Please try to disable all plugins and then check or try to use the updated version of Divi Theme.

Related

Different CSS displayed between Dev environment and Production environment for website with same code

For the following website that I have made: ifrs.site (WordPress site with custom theme, if that's important), there is an overlap of content by the footer when the browser window is not maximised on desktop, or when viewed on mobile. I fixed this overlap issue in the dev environment, but the live website with the same CSS code as the dev website ends up with a worse overlap.
What is the cause in discrepancy? You can see the differences in code at this github repo: https://github.com/keg504/IFRS-Website-theme-files, in the 2 branches dev-files and master. What is on master is what is used on the site currently.
I'm using Local by Flywheel for the dev environment on Windows 10, and the CSS is run using a webpack configuration on nodejs.
Edit: As Aliqua has requested, I've added the wp_enqueue_style function I'm calling to load the CSS: wp_enqueue_style('our-main-styles', get_theme_file_uri('/bundled-assets/styles.ba56d060f11656536bc3.css'));
The part between styles...css changes whenever npm run build is run in the command line
Depending on your design/setup the css could have attached in the source code a ?ver=1.0.0 or similar. Which means if you have made changes but not updated the version it is still recalling the original file from the cache.
Some developers overcome this by setting the enqueue_script() version part of the array to a date() (including time with hour-min-sec) function. This will mean that everytime the page is refreshed the version is different and it wont recall older versions of the css from the cache.
Search your code for the enqueue script line for the css in question and see if you can set date() to the version value.
Refer to https://www.php.net/manual/en/function.date.php for more information.
Update:
Based on your update, you could replace it with something like this.
wp_enqueue_style( 'our-main-styles',
get_theme_file_uri('/bundled-assets/styles.ba56d060f11656536bc3.css'),
array( $parent_style ), // remove if there is no parent style
date("His")
);
Reference wp_enqueue_style - https://developer.wordpress.org/reference/functions/wp_enqueue_style/
Final Thoughts:
Please note, that this answer may in fact not be the actual solution as much as I have tried to identify your issue. Please refer to https://developer.wordpress.org/ to familiarise yourself with the introductory information in relation to wordpress development. If you are going to want to do more changes to your wordpress CMS, you will need a basic understanding of how to make changes. Please focus some of your research to plugin creation, working with child themes, and how to make your own custom functions. Then you will be able to write better questions, and be able to action the answers in the future.
Best of luck with your development.

Silverstripe issue: Duplicating Siteconfig/setting menu

I've made a copy of the Settings menu (siteConfig) folder to create a CMS menu for adding company Information.
The Menu functions fine, but the CSS doesn't load correctly.
Image:
http://imgur.com/Zb58KNv
LeftAndMain Extension:
http://www.sspaste.com/paste/show/5765ac082c736
Dataobject:
http://www.sspaste.com/paste/show/5765ac3ab26ce
Thanks
-helenclarko
I found an alternative solution to this.
SingleObjectAdmin uses a single data object and shows it similar to site config.
https://github.com/Little-Giant/silverstripe-singleobjectadmin

Meteor xolvio:md-blog: Site title is changed to "name"

I have finally successfully installed the Meteor package md-blog from xolvio. The only thing that is bothering me, is that the title of the site is changed to "name". Where can I remove this?
Also on some blog entries my logo in the navbar disappears. Does anyone know what this could be?
If you're basing your blog on the example app (https://github.com/xolvio/md-blog/tree/master/app), the strings used in the app are defined in the internationalization directory (https://github.com/xolvio/md-blog/tree/master/app/i18n). You can edit the en.i18n.json file as you see fit. The site_title property is what you need to edit to change the title of the blog.
Without seeing your blog, I can't evaluate why your logo disappears. Inspect the page to see if it's there but not visible. It's likely a css issue.

Injecting a custom stylesheet into a site via Chrome Devtools

Here's the plan: I'm trying to customize a site. I want to create and edit a CSS file locally (on my own text editor) and inject it into the page using the new Workspace and Filesystem features in DevTools.
These two features seem to work quite well, except they only allow you to map certain local files to network files.
I want to create a new file and inject that into the page, not modify an existing (loaded) stylesheet.
Anybody have any ideas?
U can use the chrome extentions for that...create an extention and everytime a page loads you can add that to it.I had done it earlier,modifying the contents of www.imdb.com for a extention of mine called Movie mapper,unfortunately Chrome store removed it after 1 yr.You want the code ? I can share

How to make sure changes to a Wordpress plugin won't be lost on plugin update?

I'm pretty sure I've read somewhere that you can actually move the main plugin *.php file to somewhere else (I assume under your theme directory) to have it safe in case you made changes to it and your plugin updates. I tried Google but I can't find anything. Google page with good results will suffice.
I've just experienced a situation where my 2 plugins which had its layout changed and accommodated my needs and I want to make sure it doesn't happen again. Apart from having the main file in another location, is there a way to move along any CSS and JS files as well?
In Concrete5 CMS there is a nice way of doing this, by creating a new folder inside a block of an addon (may be regarded as a WP plugin), inside of which you can create copies of main file, any CSS and JS files and then you can simply edit them and choose that template for a page location you are using that block in.
I assume there is no such thing in Wordpress but how close can I get?
UPDATE: I found where I applied that advice on creating a new instance of the file then moving it to the theme directory.
The plugin in question was HL-Twitter. These are the plugin files:
admin.php
archive.php
functions.php
hl_twitter.php
hl_twitter_archive.php
hl_twitter_widget.php
import.php
widget.php
Now, this is the top contents (commented out) of the hl_twitter_widget.php:
Widget Theme for HL Twitter
To change this theme, copy hl_twitter_widget.php
to your current theme folder, do not edit this
file directly.
Available Properties:
$before_widget
$after_widget
$before_title
$after_title
$widget_title
$show_avatars
$show_powered_by
$num_tweets: how many tweets to show
$tweets: array of $tweet
$tweet: object representing a tweet
$tweet->twitter_tweet_id
$tweet->tweet
$tweet->lat
$tweet->lon
$tweet->created
$tweet->reply_tweet_id
$tweet->reply_screen_name
$tweet->source
$tweet->screen_name
$tweet->name
$tweet->avatar
$user: represents the Twitter user (ONLY SET IF SHOWING A SINGLE USERS TWEETS!)
$user->twitter_user_id
$user->screen_name
$user->name
$user->num_friends
$user->num_followers
$user->num_tweets
$user->registered
$user->url
$user->description
$user->location
$user->avatar
So I was wrong about copying the main file (in this case hl_twitter.php), but still - this enabled me to edit the file outside the plugin directory and the system somehow checks for its existence and picks it up if exists.
If this behavior something that is natively supported by Wordpress or it has been integrated in the plugin itself?
With themes, Wordpress has a concept of "child themes" which allows exactly that: to keep changes separate from main theme, in case it changes.
I haven't yet found a way to do this with plugins.
I'm using a few tactics myself:
I bump plugin version to a very high number like 99.9. This way Wordpress won't ever update the plugin.
Store my plugins in version control (i use git, but it doesnt matter), this allows you to update the plugin, run the 'diff' tool and see what changes happend. If you don't like you just revert like it would be a bad code you've written. But this approach requires a bit of skill.
Are you talking about running parts of a modified 3rd party plugin, and an updated version, at the same time?
That's not going to be possible. There is no magical method of "preserve my changes and transfer them into the new version automatically". The way to go here is doing a diff between the edited version and the update, and integrating the changes in the actual source files.
The bottom line is, if you manually edit a third party plugin, you're in for manual review (and possibly rework) once an update takes place. That's why it's usually not a good idea to extensively modify third party plugins.
Well in fact, yes! There is some kind of way.
You have to remove the to be modificated plugin's original actions/filters and then add your altereted actions/filters.
If the desired plugin is even coded in OOP you can just inherit the whole class and rewrite the wanted functions (oh sorry: "methods". we're talking about OOP ;) ). Instantiate your inherited class and rest as above.
Maybe there are better ways! I already search for a method so that the original class won't even get loaded but our altered one instead but I'm no John Carmack.

Resources