2011-10-16 37 views
0

我有一些問題,下面的代碼意外T_DOUBLE_ARROW:語法錯誤,在WordPress自定義文章模板

<?php 
$temp = $wp_query; 
$wp_query= null; 
$wp_query = new WP_Query(); 
$wp_query->query('post_type' => 'news','posts_per_page='.$gogo_blog_text_no_posts.'&paged='.$paged); 
while ($wp_query->have_posts()) : $wp_query->the_post(); 
?> 

我得到*「語法錯誤,意想不到的T_DOUBLE_ARROW」 *

我用類似的代碼之前沒有問題,所以我感到困惑。

爲了清楚起見,模板的剩餘部分看起來是這樣的: -

<?php 
/* 
Template Name: In The News page 
*/ 
?> 
<?php get_header(); ?> 

<?php 
$gogo_blog_text_headline = get_post_meta($post->ID, 'gogo_blog_text_headline', true); 
$gogo_select_blog_sidebar_position = get_post_meta($post->ID, 'gogo_select_blog_sidebar_position', true); 
$gogo_blog_link_text = get_post_meta($post->ID, 'gogo_blog_link_text', true); 
$gogo_blog_link_url = get_post_meta($post->ID, 'gogo_blog_link_url', true); 
$gogo_blog_text_no_posts = get_post_meta($post->ID, 'gogo_blog_text_no_posts', true); 
?> 

<?php if($gogo_blog_text_headline) { ?> 
<!-- Begin Motto --> 
<div class="motto-meta"> 
    <h1><?php echo $gogo_blog_text_headline; ?></h1> 
</div> 
<!-- End Motto --> 
<?php } ?> 

<!-- Begin Page image --> 
<?php if (has_post_thumbnail($post->ID)) { ?> 
<?php $thumbnail = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'large'); 
echo '<div class="header-image"><img src="'.get_template_directory_uri().'/lib/includes/timthumb.php?src='.$thumbnail[0].'&amp;w=960&amp;h=250&amp;zc=1&amp;q=100&amp;s=1" alt="'.get_the_title().'" /></div>';?> 
<?php } ?> 
<!-- End Page image --> 

</div> 
<!-- End Header --> 
<!-- Begin main wrap (it ends in footer.php) --> 
<div class="wrap wide"> 

<div class="main-content-holder"> 

<?php if($gogo_select_blog_sidebar_position=='right-sidebar-blog-template') { ?> 
<!--Left content area--> 
<div class="left-content left"> 
<?php } else { ?> 
<div class="left-content right"> 
<?php } ?> 

<?php 
$temp = $wp_query; 
$wp_query= null; 
$wp_query = new WP_Query(); 
$wp_query->query('post_type' => 'news','posts_per_page='.$gogo_blog_text_no_posts.'&paged='.$paged); 
while ($wp_query->have_posts()) : $wp_query->the_post(); 
?> 


<!--Begin post content--> 

<?php 
    // The following determines what the post format is and shows the correct file accordingly 
    $format = get_post_format(); 
    get_template_part('/lib/includes/post-formats/'.$format); 

    if($format == '') 
    get_template_part('/lib/includes/post-formats/standard'); 
?> 

<!--End post content--> 

<?php endwhile; ?> 
<!--End left content--> 

<!--Pagination --> 
<!--<?php posts_nav_link(' &#183; ', 'previous page', 'next page'); ?>--> 
<?php if (function_exists("pagination")) {pagination($additional_loop->max_num_pages);} ?> 
<!--End pagination --> 
<?php $wp_query = null; $wp_query = $temp;?> 
</div> 
<!--End left content area--> 

<?php if($gogo_select_blog_sidebar_position=='right-sidebar-blog-template') { ?> 
<!-- Right content --> 
<div class="right-content right"> 
<?php } else { ?> 
<div class="right-content left"> 
<?php } ?> 
<?php get_sidebar('blog'); ?> 
</div> 
<!-- End Right content --> 

</div> 
<?php get_footer();?> 
+0

這只是無效:'$ wp_query-> query('post_type'=>'news',...'。也許你想傳遞一個數組,我懷疑你之前沒有使用過這個函數嗎? –

+0

我是從(非常古老的記憶)這樣做,我想我一定已經忘了一路上的事情!原來是數組部分見下面的凱梅爾的帖子。 – toomanyairmiles

回答

2

我不知道很多關於WordPress的,但似乎你試圖傳遞一個數組,你忘了傳它作爲數組

嘗試改變:

$wp_query->query('post_type' => 'news','posts_per_page='.$gogo_blog_text_no_posts.'&paged='.$paged); 

到:

$wp_query->query(array('post_type' => 'news','posts_per_page='.$gogo_blog_text_no_posts.'&paged='.$paged)); 
0

難道你的意思是

$wp_query->query('post_type=news&posts_per_page='.$gogo_blog_text_no_posts.'&paged='.$paged); 

?那雙箭頭在那裏沒有任何意義。