Wordpress: извлекать и изменять размер вложений - PullRequest
0 голосов
/ 04 августа 2011

Я знаю, что этот вопрос относится к форуму WordPress, но я разместил там около полудюжины вопросов и никогда не получал ответов - мне здесь больше нравится сообщество, пожалуйста, не переносите этот вопрос в WordPress.

Я ищу способ извлечь вложение (может быть фотография, видео на YouTube или песню Soundcloud) из последнего сообщения категории, изменить его размер и затем отобразить на моей домашней странице. Зайдите на мой сайт по адресу http://beachief.com/, чтобы понять, что я имею в виду - разделы «Daily Chief» и «Tribal Music» - это то, где я хочу это сделать. Я успешно изменил размеры этих двух разделов с помощью этого кода:

<img src="<?php bloginfo('template_url'); ?>/images/philadelphia.jpg" alt="Featured picture" class="scaled"/>

Но это работает только для изображений, для которых у меня есть точное местоположение файла. Вот код, который я использую для получения своих последних сообщений и отображения их содержимого:

<ul class="link-item"> <?php $feature_post = get_posts( 'category=4&numberposts=1' ); ?>
<?php foreach( $feature_post as $post ) : setup_postdata( $post ); ?>
<li><h2 class="link-item"><?php the_category(' '); ?></h2></li>
<?php endforeach; ?>
<?php $feature_post = get_posts( 'category=4&numberposts=1' ); ?>
<?php foreach( $feature_post as $post ) : setup_postdata( $post ); ?>
   <li class="list-time"><?php the_time('d'); ?>.<?php the_time('M'); ?></li>
   <li class="list-title"><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></li>
   <li class="link-item"><?php the_excerpt(); ?></li>
<?php endforeach; ?> </ul>

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

1 Ответ

0 голосов
/ 30 октября 2011

Лучший способ сделать это - использовать избранные изображения:

В файле functions.php вашей темы:

add_theme_support( 'post-thumbnails' ); // add theme support
add_image_size( 'home-feature', 100, 100, true ); // add an image size 

Я установил размер изображения равным 100x100 -но, очевидно, вы измените это в соответствии со своими потребностями

См. http://codex.wordpress.org/Function_Reference/add_theme_support и http://codex.wordpress.org/Function_Reference/add_image_size для получения дополнительной информации об этих

Тогда вместо <?php the_excerpt; ?> вы получите:

<?php if(has_post_thumbnail()) {
    the_post_thumbnail( 'home-feature' );
} else {
    // could show a standard image here - e.g. a grey box
} ?>

Более подробную информацию об этом можно найти здесь: http://codex.wordpress.org/Function_Reference/has_post_thumbnail и здесь: http://codex.wordpress.org/Function_Reference/the_post_thumbnail

ОБНОВЛЕНИЕ Извините, что заметил указанные вами вложенияпараметр может быть что-то вроде:

$args = array(
'post_type' => 'attachment',
   'numberposts' => -1, // bring them all
   'post_status' => null,
   'post_parent' => $post->ID, // post id with the gallery
   'orderby' => 'menu_order',
   'order' => 'ASC'
   );           
$attachments = get_posts($args);
if(count($attachments) > 0) {
    foreach((array)$attachments as $attachment) {
        ?><li><img src="<?php print wp_get_attachment_url($img->ID); ?>" width="448" height="290" alt="<?php print $img->post_title;?>" title="<?php print $img->post_title;?>"></li><?php
    }
}

Очевидно, что в этом foreach я предполагал, что все вложения являются изображениями, но вы могли бы в равной степени поменять это, чтобы просто вывести вложение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...