Home › Forums › Backend Issues (wp-admin) › Retrieve post_ID in divi theme visual builder › Reply To: Retrieve post_ID in divi theme visual builder
Alright, I do have a hacky solution for that. Not bulletproof, though working.
$_POST and $_GET of those AJAX calls unfortunately do not contain any ID-related info (no ‘et_post_id’). But I’ve noticed that Divi Pagebuilder saves a cookie named “et-editing-post-XXXX-fb”. XXXX being the post ID! 🙂
The downside is, multiple Divi Pagebuilder cookies with different post IDs can exist at the same time. Probably while editing multiple posts at once (didn’t fully understand the logic of deleting those).
I therefore check at least for existence of my custom field as a countermeasure and in case I can’t get the post ID, I’ll echo out a placeholder message. Of course, it can happen that I mistakenly get post ID of a different post of the same post type (having the custom field I check for), but that’s a problem I can live with for now.
So far, it seems to work pretty reliably in my case.
Here’s the snippet from my shortcode…
// While in pagebuilder, try to get the ID from a cookie of name "et-editing-post-POSTID-fb"
if (is_et_pb_preview()) {
foreach(array_keys($_COOKIE) as $cookie) {
if (strpos($cookie, 'et-editing-post-') === 0) {
$cookieID = (int)explode('-', $cookie)[3];
if (get_field('my_custom_field_name', $cookieID)) {
$postID = $cookieID;
break;
}
}
}
} else {
$postID = get_the_ID();
}
Any proposed improvements will of course be appreciated 🙂
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users
Helping others is a great way to earn karma, gain badges and help ACF development!
We use cookies to offer you a better browsing experience, analyze site traffic and personalize content. Read about how we use cookies and how you can control them in our Privacy Policy. If you continue to use this site, you consent to our use of cookies.