Загрузка фотографий в WP через metabox из медиа библиотеки.

Neumann1970
На сайте с 28.05.2017
Offline
54
2000

Всем привет!

Подскажите пожалуйста, как реализовать загрузку фотографий при создании поста или страницы в вордпрессе. В виде метабокса с кнопкой выбора из медиа библиотеки с получением урла в текстовое поле, и два других поля для заполнения под alt и title?

S3
На сайте с 29.03.2012
Offline
367
#1

А чем вас не устраивает базовая загрузка медиа?

ТР
На сайте с 24.09.2016
Offline
224
#2

Присоединяюсь к Слаю. А чем стандартная медиа плоха?

Как копирайтеру хорошо зарабатывать (https://copywriting-tarasov.ru/?p=613) https://copywriting-tarasov.ru/ (https://copywriting-tarasov.ru/) Бесплатный аудит РК в Яндекс.Директе
Neumann1970
На сайте с 28.05.2017
Offline
54
#3
Присоединяюсь к Слаю. А чем стандартная медиа плоха?

Я ошибся! я хотел реализовать вывод контента с фотографиями на кастомизированый шаблон в php файле из поста:

  <?php $counter = 0; ?>
<?php foreach ($attachments as $attachment): { $counter++; } ?>
<?php if($counter == 1 ){
echo wp_get_attachment_image( $attachment->ID , 'full' ); break;}
?>
<?php endforeach; ?>

Это правильная практика вставлять данный код c foreach там где требуется отобразить определенную фотографию вытаскивая ее с помощью значения counter?

Или это будет тяжелый код?

S3
На сайте с 29.03.2012
Offline
367
#4

Neumann1970, вполне. А как вы получаете массив аттачей в $attachments?

Neumann1970
На сайте с 28.05.2017
Offline
54
#5
Neumann1970, вполне. А как вы получаете массив аттачей в $attachments?



<?php
$args = array(
'numberposts' => -1,
'order' => 'ASC',
'post_mime_type' => 'image',
'post_parent' => $post->ID,
'post_type' => 'attachment'
);

$attachments = get_posts($args);
if($attachments) :?>

<div class="col-md-4 left-zero blog-top-padding">
<?php $counter = 0; ?>
<?php foreach ($attachments as $attachment): { $counter++; } ?>

<?php if($counter == 1 ){
echo wp_get_attachment_image( $attachment->ID , 'full' ); break;}
?>
<?php endforeach; ?>
</div>
<?php endif; ?>

S3
На сайте с 29.03.2012
Offline
367
#6

Neumann1970, Тогда уж проще сразу использовать get_attached_media() - сразу получите все вложения и выведите одим циклом

Neumann1970
На сайте с 28.05.2017
Offline
54
#7
Тогда уж проще сразу использовать get_attached_media()

Это быстрее работает:

$media = get_attached_media( 'image',$post->ID);

Чем это:


<?php
$args = array(
'numberposts' => -1,
'order' => 'ASC',
'post_mime_type' => 'image',
'post_parent' => $post->ID,
'post_type' => 'attachment'
);

$attachments = get_posts($args);
if($attachments) :?>
выведите одим циклом

А как одним у меня просто мозгов не хватает, на пример первая картинка в начале страницы третья внизу между ними допустим два абзаца и список, циклу нужно три итерации. Следовательно все будет по три раза повторяться?

Можете на пальцах пример привести?

S3
На сайте с 29.03.2012
Offline
367
#8

Neumann1970, Я даже не могу понять,что вы пытаетесь намудрить... Как вы абзацы собираетесь разделять? если вывод картинок в теле статьи -так это и надо сразу в админке в редакторе. Если галерею прикреплять - тогда работайте с аттачами.

сначала напишите самому себе ТЗ - отпадет половина хотелок)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий