2011-06-14 2 views
-5
<?php 
if (is_home()) { 

<?php if (have_posts()) : while (have_posts()) : the_post();?> 


    <div id="post"> 

     <?php the_content(); ?> 

    </div> 


    <?php endwhile;?> 


    <?php endif; ?> 
} else if (is_page()) { 

$category = get_post_meta($posts[0]->ID, 'category', true); 
} 
if ($category) { 
$cat = get_cat_ID($category); 
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
$post_per_page = 4; // -1 shows all posts 
$do_not_show_stickies = 1; // 0 to show stickies 
$args=array(
'category__in' => array($cat), 
'orderby' => 'date', 
'order' => 'DESC', 
'paged' => $paged, 
'posts_per_page' => $post_per_page, 
'caller_get_posts' => $do_not_show_stickies 
); 
    $temp = $wp_query; // assign orginal query to temp variable for later use 
    $wp_query = null; 
    $wp_query = new WP_Query($args); 
    if(have_posts()) : 
    while ($wp_query->have_posts()) : $wp_query->the_post(); ?> 

    <div id="post"> 

     <?php the_content(); ?> 
    </div> 


<?php endwhile; ?> 
<?php endif; 

$wp_query = $temp; 

} 
?> 
+1

좀 더 자세한 정보를 제공해 주시겠습니까? 작동하지 않는 것은 무엇입니까? 어떤 오류가 발생합니까? – PeeHaa

+2

게시 한 코드는 4 행에서 구문 분석 오류가 발생합니다 (''사이에 있고, 바깥 쪽은 모두 통과합니다. –

답변

1

.

그 행에서 앞의 <?php을 삭제하고 싶습니다. 너는 필요 없어. 또한

는 :

당신은 당신의 else 블록의 추가 endwhile; 있습니다. while 루프는 if (is_home()) { 블록 내에서 시작되고 닫힙니다.

} else if (is_page()) {으로 시작하는 코드는 PHP 블록에 없습니다. <?php 블록을 열거 나 이전 블록을 닫지 않으면 안됩니다.

0

에 어떤 문제가 있는지 알아내는 데 문제가 있어요 :

<?php if (have_posts()) : while (have_posts()) : the_post();?> 

당신은 상단의 첫 번째 <?php에서 "PHP 모드"에서 아직도 스크립트이므로이 줄은 구문 오류입니다. 하나의 <?php ?> 블록을 다른 블록 안에 임베드 할 수 없습니다.

<?php 전에 if를 제거하거나 이전 줄에 is_home() 물건 후 ?>을 추가

<?php if (is_home()) { ?> 

<?php if (...) ?> 

나뿐만 아니라

<?php 
if (is_home()) { 
    if (...) { ?> 

, 나는 강력히 display_errorserror_reporting 수 있도록 건의 할 것 PHP 구성에서. 그들이에 있다면, 당신은 여분의 <?php에 의한 구문 오류가있는 것 : 라인 # 당신이 이전이 아직 종료되지 않은 경우에도 새 PHP 블록을 여는 4

PHP Parse error: syntax error, unexpected '<' in somefile.php on line XXX 
1

첫 번째 PHP 태그가 닫혀 있지 않습니다. 그것을 닫고 거기에서 계속 나아 간다. 주로 HTML 파일이 아닌 PHP 파일로 생각하면 읽기 및 디버그가 더 쉬울 것입니다. 즉, 직선 HTML이 필요할 때까지 php 태그를 열어 두십시오. 이 시점에서 PHP 태그를 닫고 HTML을 작성한 다음 PHP 태그를 다시여십시오.

관련 문제