#php
#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.'amp;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;amp;w=960amp;amp;h=250amp;amp;zc=1amp;amp;q=100amp;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.'amp;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(' amp;#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();?>
Комментарии:
1. Это просто недопустимо :
$wp_query->query('post_type' => 'news',...
. Может быть, вы хотите передать массив. Я сомневаюсь, что вы использовали это раньше без проблем.2. Я делал это из (очень старой памяти), я думаю, я, должно быть, что-то забыл по пути! Который оказывается частью массива см. Сообщение Кемеля ниже.
Ответ №1:
Я мало что знаю о WordPress, но похоже, что вы пытаетесь передать массив, и вы забыли передать его как массив
Попробуйте изменить:
$wp_query->query('post_type' => 'news','posts_per_page='.$gogo_blog_text_no_posts.'amp;paged='.$paged);
Для:
$wp_query->query(array('post_type' => 'news','posts_per_page='.$gogo_blog_text_no_posts.'amp;paged='.$paged));
Ответ №2:
Вы имели в виду
$wp_query->query('post_type=newsamp;posts_per_page='.$gogo_blog_text_no_posts.'amp;paged='.$paged);
? Эта двойная стрелка не имеет никакого смысла.