2012-08-25 2 views
0

먼저이 문제를 약 2 주 동안 작업 해본 결과 내가 온통 답을 찾았다 고합니다. 필자는 다양한 포럼, 블로그, WordPress Codex 및 필자가 찾을 수있는 모든 장소에 갔다. 나는 아직도 제대로 작동하지 않습니다. 최후의 수단으로서 나는 누군가가 그것을 가지고 나를 도울 수 있는지보기 위해 여기에 온다.WordPress Loop Error

내 문제는 이것입니다. 저는 무료 Wordpress 테마 인 http://wp-awesome.themeawesome.com을 만들고 있습니다. WordPress Theme Repository에 제출하고 사람들이 다운로드 할 수 있도록 호스트되기를 바랍니다. 요구 사항 중 하나는 테마가 오류를 생성 할 수 없다는 것입니다. 모든 것이 완벽하게 작동하고 하나만 제외하고는 오류가 없습니다. 두 번째 페이지로 이동할 때 다음과 같은 오류 메시지가 나타납니다.

* 주의 : 정의되지 않은 변수 : do_not_duplicate in/-/-/-/-/-/wp-awesome/index.php on line 68 *

앞 페이지에서 볼 수 있듯이 기능적인 포스트 슬라이더가 있습니다. 이 슬라이더는 '추천'이라고 표시된 게시물을 표시합니다. 나는이 특정 쿼리에 대해 다음 코드를 사용하고 있습니다 :

<?php 
      $mytag = mytheme_option('featured_tag'); 
      $thecount = mytheme_option('featured_count'); 
      $my_query = new WP_Query("tag=$mytag&showposts=$thecount"); 
      while ($my_query->have_posts()) : $my_query->the_post(); 
      $do_not_duplicate[] = $post->ID; 
     ?> 

// post stuff here 

<?php endwhile; ?> 

지금 분명히 홈 페이지에 나는 그 아래에있는 일반 루프에서 첫 페이지에 표시 슬라이더에 표시되는 게시물을 원하지 않는다.

* 공지 사항 : 정의되지 않은 변수 : 오류가 나타 하단에 다른 페이지를 클릭하면

<?php 
if (is_home()) { 
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
    query_posts(array(
     'post__not_in' => $do_not_duplicate, 
     'paged' => $paged 
    )); } 
if (have_posts()) : while (have_posts()) : the_post(); ?> 

// post stuff 

<?php endwhile; ?> 

유일한 문제는 : 그래서 내가 잘 작동하는 것 같다 다음 코드를 발견 do_not_duplicate을에 /--/-----------------wp-awesome/index.php on line 68 *

두 번째 또는 세 번째로 갈 때 오류가 표시됩니다. 페이지에는 do_not_duplicate 매개 변수를 정의하는 것이 없습니다. 어떤 아이디어가 이것을 고치는 방법?

도움을 주시면 감사하겠습니다. 미리 감사드립니다.

답변

0

Easy & wp-content/themes/YOUR_THEME/header.php에있는 테마의 header.php 파일에 $ do_not_duplicate 변수를 선언하는 것이 가장 빠릅니다. 배열 인 경우 요소임을 선언해야 할 수 있습니다. 이처럼 :

<?php 
    // declaration of $do_not_duplicate array 
    for ($i = 0; $i < 100; $i++) { 
    $do_not_duplicate[$i] = 0; 
    }; 
?> 
+0

감사 @marcinsdance, 감사, 유일한 문제는 롤 ... 난 당신이 무슨 뜻인지 단서가 없다입니다 - 보통이 내가 고객을위한 있습니다 만들 대부분의 테마,이 같은 일반적인 오류와 같은 문제가되지 않습니다 정말로 중요하지 않습니다. 그러나 WP 표준을 따르려는 것은 정말로 어렵습니다. 당신이 내가 어떻게 작동하는지 볼 수 있도록 당신의 수정을 구현하는 방법에 대한 예제를 제공 할 수있는 기회. 다시 한번 고마워요. – tsquez

+0

문제는 없지만 더 명확하게 답변을 편집했습니다. – marcinsdance

+0

다시 한 번 감사드립니다. 나는 그것을 추가하고 그것이 어떻게되는지 보게 될 것입니다. 나는 또한 그것이 내가 한 일이라고 생각한다. 슬라이더 코드를 인덱스 파일에서 꺼내서 content-featured.php 파일에 넣은 다음 get_template_part로 호출했습니다. 웬일인지 do not는 그 fiel에서 do_not_duplicate를 인식하지 못한다. 그러나 슬라이더를 index.php 파일에 직접 추가하면됩니다. 어떤 이유로 든 제대로 작동합니다. 오 잘 ... lol하지만 시간과 도움에 감사드립니다. – tsquez