Я хочу добавить несколько метабоксов галереи. Да, я знаю про ACF - хочу копнуть глубже и научиться делать это вручную, и знать, как правильно, понять, где я ошибаюсь.
Я нашел этот код, и если метабокс всего один, все работает отлично — данные сохраняются, все можно отобразить на фронтенде. PHP-часть
function Gallery_metabox_enqueue($hook) { if ( 'post.php' == $hook || 'post-new.php' == $hook ) { wp_enqueue_script('галерея-метабокс', get_template_directory_uri() . '/js/gallery-metabox.js', array('jquery', 'jquery-ui-sortable')); wp_add_inline_style( 'gallery-metabox', '#gallery-metabox-list li {float: left; width: 30%; text-align: center; Margin: 10px 10px 10px 0; курсор: move;}' ); } } add_action('admin_enqueue_scripts', 'gallery_metabox_enqueue'); функция галереи_meta_save($post_id) { if (!isset($_POST['gallery_meta_nonce']) || !wp_verify_nonce($_POST['gallery_meta_nonce'], basename(__FILE__))) { возвращаться; } if (!current_user_can('edit_post', $post_id)) { возвращаться; } если (определено('DOING_AUTOSAVE') && DOING_AUTOSAVE) { возвращаться; } if (isset($_POST['gallery_images']) && is_array($_POST['gallery_images'])) { $images = array_map('sanitize_text_field', $_POST['gallery_images']); update_post_meta($post_id, 'gallery_images', $images); } } add_action('save_post', 'gallery_meta_save'); функция галереи_meta_callback($post) { wp_nonce_field(basename(__FILE__), 'gallery_meta_nonce'); $gallery_images = get_post_meta($post->ID, 'gallery_images', true); ?>