Функция PHP не работает должным образом - PullRequest
0 голосов
/ 07 февраля 2010
<?php 
    function getPosts($showposts,$tags, $thumb_key="thumb_300x166", $thumb_class, $thumb_width="300", $thumb_height="166") {

        $temp = $wp_query;
        $wp_query= null;
        $wp_query = new WP_Query();
        $wp_query->query('tag=$tags&showposts=$showposts');

        while ($wp_query->have_posts()) { 

            $wp_query->the_post();

            echo '<div class="entry"><div class="left">';

                if ( function_exists( 'get_the_image' ) ) {
                    $defaults = array(
                        'custom_key' => array( '$thumb_key' ),
                        'image_class' => '$thumb_class',
                        'image_scan' => true,
                        'width' => '$thumb_width',
                        'height' => '$thumb_height' 
                        );
                    get_the_image($defaults); // thumbnail
                } // end if

            echo '</div>
                  <div class="right">
                  <h3><a href="'.the_permalink().'">'.the_title().'</a></h3>'
                  .the_excerpt().'</div></div>';

        } // end while
    }
    getPosts($showposts=5,$tags="news",$thumb_class="review-thumb");
?>

Я не понимаю, почему эта функция запроса WordPress не работает. Я вообще ничего не возвращаю / не печатаю.

1 Ответ

4 голосов
/ 07 февраля 2010

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

Что если вы используете одинарные кавычки, например в следующей строке:

$wp_query->query('tag=$tags&showposts=$showposts');

$tags и $showposts не обрабатываются и вставляются в строку буквально. Если вы хотите, чтобы ваша строка содержала значения $tags и $showposts, используйте двойные кавычки, например:

$wp_query->query("tag=$tags&showposts=$showposts");

То же самое относится и к массиву, переданному get_the_image.

edit : Кроме того, вызов вашей функции выглядит странно. Вы используете синтаксис, аналогичный тому, когда вы предоставляете значения по умолчанию для аргументов, но обычный вызов функции будет выглядеть примерно так:

getPosts(5, "news", "review-thumb");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...