Hi Christian,
Thank you for coming back to me. I was able to resolve the login issue with your guidance. I do however have another question which I hope you may be able to assist me with.
I have completed the steps to allow users to edit their posts and have now got a page that outputs the form to edit specific details from the custom posts I have developed. The issue is it outputs the form in both the header and the footer areas as well as the main content area. Below is a link to one of the customer posts that has a link to it to edit it. if you click that link you will see what I mean.
hidden link
Can you please advise me on why this is happening and it is not outputting in just the main content area.
I have also had to turn off the required options for all the custom fields so I can edit what is shown in the edit customer post form. This opens up the main form to abuse and misuse. I could see no other way of doing this even when I deleted the HTML form it just didn't output with just the fields I was after.
Any advice on why this is happening would be helpful.
This seems to be a compatibility issue with Divi 4. If I downgrade to Divi 3, the problem is not replicable. I can report this to my 2nd tier support team, but we still recommend using Divi 3 until all the compatibility issues with Divi 4 can be addressed: https://toolset.com/documentation/recommended-themes/toolset-divi-integration/
I'll let you know what I find out from the 2nd tier support team.
Thank you, Christian. I will go back to Divi 3 and see what happens. I presume that Toolset is working hard on getting this compatibility issue resolved and will look out for any announcements.
Many thanks for your help and support
My issue is resolved now. Thank you!
Just a quick update to let you know that my 2nd tier support team has determined this issue should be addressed by Divi. Here are the comments from my 2nd tier support team:
DIVI changes the global $post in \Divi\includes\builder\frontend-builder\theme-builder\frontend.php line 306 ET_Post_Stack::replace( $layout );
ET_Post_Stack::replace( $layout ); calls PostStack.php::replace() then PostStack.php::setup() then replaces the global $post with header/footer post in line 64 setup_postdata( $post );
*Further debug info:
In function et_theme_builder_frontend_render_layout() in \themes\Divi\includes\builder\frontend-builder\theme-builder\frontend.php line 308 they use the_content()
So Views does its work from this point and print the form as the page URL holds the content-template-id parameter which indicates that the content of the page has a content template assigned and then we output the content template contents
Of course, this can be fixed by replacing the_content() by echo do_shortcode($layout->post_content);
From our side, we replace the content of the post(header/footer) by the content template contents in \wp-views\embedded\inc\views-templates\wpv-template.class.php lines
if ( is_null( $content_aux ) ) {
unset( $in_progress[ $id . '#' . $template_selected ] );
return $content;
} else {
$content = $content_aux;
}