Создание метабокс для загрузки нескольких изображений
-
16-10-2019 - |
Вопрос
Можно ли сделать мета -коробку, которая прикрепляет несколько изображений к сообщению?
Решение
Это полностью зависит от того, что вы имеете в виду под «прикрепить».
В каждом посте WordPress уже есть несколько вложений для носителей - фотографии, документы и т. Д. Вы загружаете их с помощью встроенного загрузчика, и все они будут помечены как «прикрепленные» к этому конкретному идентификатору поста.
Вы можете ссылаться на эти позднее программы в другом месте. Например, в следующем коде перечислены все вложения для конкретного поста (Код из Snipplr):
$args = array(
'post_type' => 'attachment',
'numberposts' => null,
'post_status' => null,
'post_parent' => $post->ID
);
$attachments = get_posts($args);
if ($attachments) {
foreach ($attachments as $attachment) {
echo apply_filters('the_title', $attachment->post_title);
the_attachment_link($attachment->ID, false);
}
}
Вся эта функциональность доступна через кнопку «Добавить медиа» по умолчанию в крайнем правом правом «загрузке/вставке» на новом пост -экране. После того, как вы добавите одно изображение, вы можете снова нажать «Select Files» и загрузить второе изображение. Затем третий. Затем четвертый. Столько, сколько захотите.
Каждое из этих изображений будет «прикреплено» к сообщению ... даже если они не вставлены в контент.
Другие советы
Вот полный учебник с исходными файлами, которые делают именно то, что вы хотите,
Вы можете загрузить многократные изображения, клонируя поле ввода, а также вы можете предварительно просмотреть изображения с помощью AJAX, добавить несколько метабокс в несколько/разные типы постов и многое другое.
http://www.deluxeblogtips.com/2010/05/howto-meta-box-wordpress.html
Я также рекомендую проверить http://www.wpalchemy.com Анкет Wpalchemy - это класс «класс» (рядом с плагином), чтобы легко добавить пользовательские мета -коробки на ваш сайт. Я широко использую его и был впечатлен легкостью использования и приверженностью разработчика и растущего сообщества.
Да, это вполне возможно. См отклик Я понял метабокс. По сути, вы просто захотите добавить крючок для save_post
и проверить поле Nonce.
function my_save_post_callback( $post_id, $post )
{
if ( empty($_POST) || !isset($_POST['my_custom_metabox']) || !wp_verify_nonce( $_POST['my_custom_metabox'], plugin_basename( __FILE__ ) ) )
{
return $post->ID;
}
// Handle the upload here
}
add_action( 'save_post', 'my_save_post_callback', 1, 2);