2012-03-10 2 views
0

WordPress에서 사용자 정의 게시 유형을 만들고 단일 게시 템플릿에서 get_post_custom() 함수를 사용하여 사용자 정의 데이터를 성공적으로 가져 왔습니다.WordPress의 루프 내에서 get_post_custom()이 작동하지 않는 이유는 무엇입니까?

그러나 게시물 목록의 루프 내에서 함수가 작동하지 않고 빈 배열로 돌아옵니다.

<?php $loop = new WP_Query(array('post_type' => 'web-design', 'posts_per_page' => 10)); ?> 

<?php $i = 0; ?> 

<?php while ($loop->have_posts() && $i < 3) { $loop->the_post(); ?> 

<article class="project-link <?php echo 'num' . $i ?>"> 
    <div class="pad"> 

     <?php $project_info = get_post_custom(); ?> 

     <?php 

     foreach ($project_info as $i => $values) { 
      print "$i {\n"; 
      foreach ($values as $key => $value) { 
       print "$key => $value\n"; 
      } 
      print "}\n"; 
     } 

     ?>  

     <?php echo $project_info['url'][0]; ?> 

그리고 난 아무것도 전혀 돌아 오는이 없습니다 :

여기에 내가 가진거야.

왜 이것이 작동하지 않는지 아는 사람이 있습니까? 단일 포스트 템플리트에서 제대로 작동합니다. 왜 루프에 있지 않습니까?

감사합니다.

답변

0

것은 문제가 데이터베이스에 놓여있는 것처럼 보인다. 특정 게시물을 삭제하면 정상적으로 작동 할 것입니다. 나는 아직 이들 게시물을 잘못 찾았습니다. 삭제 한 다음 다시 작성하면 대개 괜찮습니다.

이 문제가있는 모든 사용자에게 내 조언은 일부 게시물을 휴지통으로 옮겨보고 작동 여부를 확인하는 것입니다.

0

post_custom()는 당신이 필요로하는 특정 키 또는 값을 알고있는 경우

당신이 사용할 수 있습니다 .. 배열에 저장된 많은 변수가

또는 다음과 같이 그들을 반복해라.

<?php 

    $mykey_values = get_post_custom_values('my_key'); 
    foreach ($mykey_values as $key => $value) { 
    echo "$key => $value ('my_key')<br />"; 
    } 

?> 

또는 특정 포스트

<?php 

    $custom_fields = get_post_custom(72); 
    $my_custom_field = $custom_fields['my_custom_field']; 
    foreach ($my_custom_field as $key => $value) 
    echo $key . " => " . $value . "<br />"; 

?> 
+0

고맙습니다. Obmerk,하지만 어떤 이유로 이건 여전히 루프 내에서 작동하지 않습니다. 어떤 이유로 든 빈 문자열이나 배열을 반환하는 것입니다. 그것은 하나의 게시물에 완벽하게 작동하지만. – shrewdbeans

+0

단일 포스트에서 작동하는 경우 - 루프에서 작동하는 것보다 문제가 사용자 정의 쿼리 일 수 있습니다. 또한 예제에서 보여준 내용은 중첩 된 배열입니다. –

+0

설명해 주셔서 감사합니다. 어떻게 설정합니까? 내 사용자 정의 쿼리 테스트? print_r()을 $ loop 객체와 함께 사용했는데 사용자 정의 값을 반환하지 않았습니다. 문제는 또한 functions.php 파일에 사용자 정의 게시물을 설정할 때에도 있을까요? 아니면 단일 포스트 쇼에서 작동한다는 사실은 괜찮습니까? 다시 말하던 것처럼 – shrewdbeans

관련 문제