Помощ » Код, разширения и други хакерии » Търся помощ за проблем с плъгин за 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’ е затворена за нови отговори.