Hi Guys,
I have a field group enabled for “Posts” and for my CPT “Events”.
It is set to appear after “Normal (after content)”, but it only appears in the correct place on the posts. No matter what I set “position” to, the field group only shows in the sidebar of for my custom post type – I cannot get it to appear below the gutenberg editor at all!
What am I missing?
I have found the cause and have opened a github issue:
https://github.com/AdvancedCustomFields/acf/issues/282
Hi @jakebwhiteley
I read the link to your Github issue.
Is the only real work around for existing custom fields is to duplicate it, copy content and then delete older custom field?
The problem you have is that someone has already reordered the boxes. The first thing you need to do is find all of the user meta and delete it.
I would employ 2 things form here https://wordpress.stackexchange.com/questions/2474/disable-dragging-of-meta-boxes
1) Disable the boxes from being sorted in the first place. In a custom JS file that loads in the admin I add
(function($){
$(document).ready(function(e) {
$('.meta-box-sortables').sortable({
disabled: true
});
$('.postbox .hndle').css('cursor', 'pointer');
});
})(jQuery);
Then, in case that fails for some reason I add the following which prevents the saving of the order meta, priority of 0 causes my action to fire before the built in WP action.
// disable saving of metabox order
add_action('wp_ajax_meta-box-order', 'disable_meta_box_order_save', 0);
function disable_meta_box_order_save() {
wp_die(-1);
}
Hey @hube2
Thanks for getting back to me.
I’m not see sure I understand your suggestion. For me, the Group field boxes are stuck in the RHS column when editing a page. So does WP execute the JS snippet when I’m using WP admin? I thought JS files would only execute when WP is loading my theme.
While using the WP admin and you drag a field group, WP makes an AJAX request with the action “meta-box-order”. This causes the built in action on that request to run which saves the order. The ajax action I posted fires before the built in WP action because the priority is set to 0 (zero) and the one for WP is set to 1. The new action prevents both the saving of the meta box order and the internal WP action from firing.
The only way to get them “unstuck” is to delete the user’s meta box order entries in the DB. There isn’t any real way to fix this without working directly in the DB.
The code I posted will prevent them being moved in the future. Or I should say, if you add the PHP part then the boxes can be moved but when the page reloads then the boxes will be back where they are supposed to be. If you also implement the JS code then the boxes can never be moved.
You must be logged in to reply to this topic.
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!
Accordions are a great way to group related information while allowing users to interactively show and hide content. In this video, Damon Cook goes in-depth on how to create an accessible accordion block using ACF PRO’s Repeater field.https://t.co/RXT0g25akN
— Advanced Custom Fields (@wp_acf) March 2, 2023
© 2023 Advanced Custom Fields.
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 Cookie Policy. If you continue to use this site, you consent to our use of cookies.