2013-04-08 2 views
1

저는 현재 WordPress에 매우 특이한 문제가 있습니다. WordPress에 익숙하지 않은 것은 아마도 코드 구조면에서 다소 난장판이되어 버리는 이유 일 것입니다.하지만 플랫폼에서 온라인으로 찾을 수있는 정보의 양에 감사드립니다.query_posts는 Wordpress에서 조건문을 삭제합니다.

문 # 1

<?php if(is_home()) { 
query_posts('cat=6,9&&showposts=7'); 
} 
if (have_posts()) : while (have_posts()) : the_post(); 
get_template_part('loop', 'index'); 
endwhile; ?> 

이 예상대로하지만이 작동합니다

여러 포럼을 통해 검색 후, 나는 마침내 홈페이지에 특정 카테고리에 따라 게시물을로드 코드의 조각을 발견 일어나는 아주 이상한 일. 내 sidebar.php 템플릿에는 일부 콘텐츠가있는 캔버스를 표시하는 홈페이지에 대한 조건부 코드가 있습니다.

문 # 2

<?php if(is_home()):?> 
<div id="portrait_image"> 
<div class="container"> 
<canvas id="panel" width="370" height="175"></canvas> 
</div> 
</div> 
<?php endif;?> 

내가 처음 if(is_home) 문 위에서 추가 한 경우도 것을 제외하고 잘 작동, 그것은 보인다 : 그래서 저는 이것이 내가 그 일을하고 어떻게 홈페이지에 만 표시이 원하는 어떤 이유로 든 두 번째 if(is_home) 문을 사용하지 않도록 설정하십시오. 문제에 대해 몇 시간 동안 머리를 긁었고, 두 번째 문장을 처음 문장 위에 배치하면 갑자기 작동한다는 점에 유의하십시오.

그러나 그때 나는 심지어 더 이상한 것을 발견했습니다. 문 # 1에서 cat=6,9&&을 제거하면 # 2가 작동합니다. sidebar.php 템플릿 내부의 홈페이지에있는 경우 단순히 다른 캔버스를 호출하는 조건문을 방해하는 데있어 다른 게시물 범주를 호출하는 방법에 대한 논리는 없습니다.

이상한 문제가있는 사람이 있습니까? 내 구문이 잘못 되었나요? 아니면 해결 방법을 알려줄 수 있습니까?

미리 감사드립니다.

+0

P. 그건 그렇고, 두 번째 문장에 "hello"를 추가해도 효과가 있는지 알 수는 없지만 아무 것도 나타나지 않습니다. – HGB

답변

0

나는 내 sidebar.php와 비슷한 문제가있었습니다.

전화 국제 식품 워드 프레스에서 두 번째 if(is_home)

<?php wp_reset_query(); ?> 

전에 wp_reset_query 기능 :

wp_reset_query()는 원래 메인 쿼리에 $의 wp_query 및 글로벌 포스트 데이터를 복원합니다.

또한이 기능을 상세히 설명하는 this blog post을 발견했습니다.

저자와 비슷한 문제가있는 것으로 보입니다.

+0

당신은 스타입니다! 내 문제가 해결 됐어! 하지만 어떡하지? 그런 일이 일어나는 이유를 아십니까? – HGB

+0

wp_reset_query()는 $ wp_query 및 전역 게시물 데이터를 원래 기본 쿼리로 복원합니다. 자세한 내용은 위의 링크를 참조하십시오. – user850010

+0

이 답변이 유용하다고 생각되면 잠시 시간을내어이 대답의 왼쪽에있는 큰 체크 박스를 클릭하여 수락하십시오. – user850010

관련 문제