Търся помощ за проблем с плъгин за WordPress
-
Става въпрос за плъгина Post Image (http://guff.szub.net/2006/02/09/post-image/), чиято основна цел е да показва първото качено/атачното изображение в дадена публикация. Ползвам го, така че към заглавието на публикацията да има и изображение.
Когато го използвам в index.php или в archive.php, или в search.php, няма проблеми, картинките към публикациите се показват коректно.
Ползвам следния код:
<?php if (have_posts()) : ?> <ul> <?php while (have_posts()) : the_post(); ?> <li><a href="<?php the_permalink(); ?>"><?php post_image('/noimage1.jpg', true, true); ?><?php the_title(); ?></a></li> <?php endwhile; ?> </ul> <?php endif; ?>
До тук всичко е ОК.
Проблема е следния – в single.php след края на публикацията искам да направя списък с публикациите от същата категория, нещо като „Подобни публикации“. Ползвам следния код:
<?php $query= 'cat=' . $cat. '&orderby=date&showposts=10'; query_posts($query); while (have_posts()) : the_post(); ?> <?php if($post->ID != $currentPostID) { ?> <li><a href="<?php the_permalink(); ?>"><?php post_image('/noimage1.jpg', true, true); ?><?php the_title(); ?></a></li> <?php } endwhile; ?>
Общо взето идеята на кода е да показва последните 10 публикации от същата категория, но без да включва в списъка текущата публикация.
Кодът работи и показва заглавията и снимките, но проблема е, че вместо снимката атачната към всяка публикацията, то за всички останали, с изключение на текущата публикация, се показва /noimage1.jpg (тоест, че няма снимка), въпреки, че всичките имат атачнати снимки.
Ползвайки моите крайно оскъдни знания по php, опитах се да намеря къде е грешката. В крайна сметка достигнах до ред 84 от плъгина:
if( $post->ID == $attachment->post_parent ) {
Този if прави една проверка на идентификатора на публикацията и на родителя на атачмента. Ако двете съвпадат, то това означава че към публикацията има атачното изображение и то се показва. Ако ли не, показва се /noimage.jpg.
Проследявайки стойностите на двете променливи, видях че $attachment->post_parent не се обновява правилно, само когато плъгина се ползва в single.php. В останалите случаи работи безотказно. Вместо това $attachment->post_parent е с фиксирана стойност = родителя на атачмента на текущата публикация. Това и обяснява защо, в single.php кодът връща правилното изображение само за текущата публикация, а за останалите връща /noimage.jpg
Ще съм много благодарен, ако някой може да помогне за решаването на проблема. Аз лично съм php и wordpress api инвалид.
- Темата ‘Търся помощ за проблем с плъгин за WordPress’ е затворена за нови отговори.