PHP函数无法正常工作

时间:2010-02-07 13:52:38

标签: php wordpress function

<?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 个答案:

答案 0 :(得分:4)

我从未使用过Wordpress,但我发现可能是导致此问题的原因之一。

如果您使用单引号,例如在以下行中:

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

$tags$showposts未处理,并按字面插入字符串。如果您希望字符串包含$tags$showposts的值,请使用双引号,如下所示:

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

传递给get_the_image的数组也是如此。

编辑:另外,你的函数调用看起来很怪异。您使用的语法与为参数提供默认值时的语法类似,但常规函数调用将如下所示:

getPosts(5, "news", "review-thumb");