Не удается получить вложения / мультимедиа из пользовательского типа записи Wordpress?
Я пытаюсь получить прикрепленные / вставленные изображения в моем WordPress php
код, который я вставил в тестовый пост в интерфейсе администратора. Я нажал кнопку "Добавить медиа", загрузил свои фотографии и обновил пост (где front-page
это пользовательский тип сообщения).
(Я нажал эту кнопку):
Тем не менее, я не могу найти фотографию, связанную с этим постом, для жизни меня. Если я установлю Feature Image
(уменьшенное изображение), я могу получить это, но не вставленные изображения. Вот что я попробовал:
Цикл вложения (не повезло):
$attachments = query_posts(
array(
'post_type' => 'front-page', // only get "attachment" type posts
'post_parent' => $post->ID, // only get attachments for current post/page
'posts_per_page' => -1 // get all attachments
)
);
foreach($attachments as $attachment) {
echo get_the_ID();
echo wp_get_attachment_image( $attachment->ID, 'full' );
}
wp_attached_image (идентификатор сообщения) (не повезло):
wp_get_attachment_image( $post->ID );
Получение всех сообщений (не повезло):
<?php
$args = array(
'post_type' => 'front-page',
'post_mime_type' => 'image',
'numberposts' => -1,
'post_status' => null,
'post_parent' => $post->ID
);
$attached_images = get_posts( $args );
echo $attached_images[0];
?>
Получение пост галереи изображений (Не повезло)
get_post_gallery_images( $post->ID );
Я действительно потерялся в том, почему я не могу получить изображения. Я исчерпал почти все предложения, которые мог найти в Интернете, и мне было интересно, связано ли это с моим пользовательским типом записи или как? Любая помощь будет оценена.
4 ответа
Я думаю, что вам не хватает полученного кода с помощью echo (как я делаю ниже) или печати или вывода. Мне удалось сделать это с этим кодом некоторое время назад.. надеюсь, это поможет -(с использованием fancybox в этом)
<?php
$attachments = get_posts( array(
'post_type' => 'attachment',
'post_mime_type'=>'image',
'posts_per_page' => -1,
'post_status' => 'any',
'post_parent' => $post->ID)
);
if ( $attachments ) {
foreach ( $attachments as $attachment ) {
$src = wp_get_attachment_image_src( $attachment->ID, full);
$html = '<a class="fancybox" href="'.$src[0].'">';
$html .= wp_get_attachment_image( $attachment->ID, 'gallery-thumb') .'</a>';
echo $html;
}
}
?>
Вот как я это исправил: (прокомментировал, чтобы объяснить, что я сделал).
<?php
// Argument array to hold parameters for get_post() method.
$args = array(
'post_type' => 'attachment',
'posts_per_page' => -1,
'post_status' => 'any',
'post_parent' => null
);
// Holds the URL of the image.
$image_url = '';
// If we have a thumbnail in the post, use that as the main image.
if (has_post_thumbnail($post->ID)) {
$image_url = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID))[0];
}
// Otherwise, if we have an attachment image, use that as the main image.
else if (get_posts($args)) {
// Simple test to see if we can display attachments from any post.
$attachments = get_posts($args);
if ( $attachments ) {
$first_photo = $attachments[0];
$image_url = wp_get_attachment_url($first_photo->ID , false );
}
}
// If there are no images, just display the text.
else {
echo "No images";
}
?>
Вы, вероятно, имеете в виду это (кодекс говорит, что вы должны использовать get_posts() в этом случае):
<form id="form1" name="form1" method="post" enctype="multipart/form-data" action="">
<input name="name" type="image" src="resimler/azalt.gif" />
</form>
попробуй это.
Print_r ($ _ Request); где вы хотите увидеть. это будет работать.