как сделать: при нажатии на картинку открывался пост, а не картинка?

Подскажите пожалуйста, вставил в сайдбар следующий код:

<?php

$args = array(
    'post_type' => 'attachment',
    'numberposts' => 5,
    'post_status' => null,
    'post_parent' => null, // any parent
    ); 
$attachments = get_posts($args);
if ($attachments) {
    foreach ($attachments as $post) {
        setup_postdata($post);
        the_title();
        the_attachment_link($post->ID, false);
        the_excerpt();
    }
}

?>

выводит 5 последних картинок, но при нажатии на картинку открывается картинка, а как сделать чтоб открывался пост?

Наверно, что-то типа echo get_permalink($post->post_parent) вместо the_attachment_link.

Наверно, что-то типа echo get_permalink($post->post_parent) вместо the_attachment_link.

не помогло, вообще ссылки пропали, быть может можно как нибудь по другому реализовать идею?

Посмотрите, как устроен the_attachment_link, и вытащите из него то, что нужно.

Посмотрите, как устроен the_attachment_link, и вытащите из него то, что нужно.

мои знания php не позволяют сильно разбиратся:)

пробовал плагин Post Thumb, но после активации, страница загружается минут 5, и ничего не происходит,
Вот думал попробовать с кодом разобратся, а нет ли других способов вывода превью на посты?

не знаю, может быть с этим побороться…

<?php

$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);
}
}

?>

<?php

$args = array(
    'post_type' => 'attachment',
    'numberposts' => 5,
    'post_status' => null,
    'post_parent' => null
    ); 
$attachments = get_posts($args);
if ($attachments) {
    foreach ($attachments as $post) {
        setup_postdata($post);
        the_title();
        echo '<a href="'.get_permalink($post->post_parent).'">';
        echo wp_get_attachment_image($post->ID);
        echo '</a><br /> ';
    }
}

?>

сделал следующим образом:

<?php $latest = new WP_query(); $latest->query('showposts=5'.$mytheme['latest'].'&cat=28'.$mytheme['featured'].',-'.$mytheme['video']); ?>

<ul id="mid-latest">
<?php while ($latest->have_posts()) : $latest->the_post(); ?>

<li>

<div class="lpost">
<a href="<?php the_permalink(); ?>"><?php show_thumb($width=$mytheme['latestthumbW'],$height=$mytheme['latestthumbH'],$crop='T',$quality=95,$blank=false); ?></a>
<h2><a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>

</div><div class="clear"></div>

</li>

<?php endwhile; ?>
</ul>

теперь все работает, спасибо за ответы.

Вариант Ю.Б подошел больше, так как приведенный мною вариант повторно создавал по несколько превьюшек, и множество пхп файлов, бережно складируя их в папку с темой.
Чтоб сделать изображение ссылкой на пост нужно при добавлении изображения через админку, делать его ссылкой на текущий пост. а затем просто вызвать в нужное место картинки которые уже являются ссылками 🙂
Надеюсь кому то пригодится информация. А то некоторые темы заканчиваются словами: "Спасибо разобрался", а как именно разобрался все молчат 🙂

Спасибо всем за помощь!

И все таки последний вопрос.
Никак не разберусь как сделать вывод изображения именно из определенной рубрики, пробовал так:

<?php
$args = array(
    'post_type' => 'attachment',
    'category' = 9,
    'numberposts' => 5,
    'post_status' => null,
    'post_parent' => null
    ); 
$attachments = get_posts($args);
if ($attachments) {
    foreach ($attachments as $post) {
        setup_postdata($post);
        the_title();
        echo '<a href="'.get_permalink($post->post_parent).'">';
        echo wp_get_attachment_image($post->ID);
        echo '</a><br /> ';
    }
}

?>

но все равно отображаются просто последние посты. подскажите плиз…

Вскрытие показало, что у аттачей нет рубрик. Посему комбинация post_type и category не валидна.

это не есть гуд, так значит нельзя сделать вывод с нужной категории? в кодексе http://codex.wordpress.org/Template_Tags/get_posts#Show_all_attachments написано что можно применять category, вот только как я не понял.

и еще вопрос. Как сделать чтобы выврд новости начинался со второго поста а не с первой?

Почему же "нельзя"? Можно. Но судя по всему, не через get_posts(). Например так, как в примерчике Stand-alone loop на http://code.google.com/p/post-thumb-revisited/wiki/CodeSamples

ничего не получилось, видимо руки не от туда растут, буду пробовать.

А сам плагин хоть поставили или так пробовали? 🙂

так пробовал:D. Этот плагин ставил раньше, но он не корректно работает, сайт не загружается.. да и хотелось бы без плагинов.

Запросто! 😆

SELECT wp_posts.* FROM wp_posts WHERE wp_posts.post_type = ‘attachment’ AND wp_posts.post_status = ‘inherit’ AND wp_posts.post_parent IN (SELECT wp_posts.ID FROM wp_posts INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) INNER JOIN wp_term_taxonomy ON (wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id) WHERE wp_term_taxonomy.taxonomy = ‘category’ AND wp_term_taxonomy.term_id IN (‘5’) AND wp_posts.post_type = ‘post’ AND (wp_posts.post_status = ‘publish’) ORDER BY wp_posts.post_date DESC) LIMIT 5

А куда и как это всовывать, догадайтесь самостоятельно. На форуме информации более чем достаточно. А я на сегодня план перевыполнил 🙂

Спасибо огромное! буду пробовать. надеюсь получится 🙂

Anonymous
Отправить
Ответ на: