2014-04-20 4 views
0

내 첫 번째 질문은 여기에 나와 있으므로 다른 곳으로 직접 안내해주세요. (예, 중복 검색을 시도했지만 스택 오버 플로우 기술이 제한 될 수 있습니다.)Wordpress의 루프 내에서 get_posts에서 ID 가져 오기

저는 맞춤형 게시물 유형을 편집하기 위해 프런트 엔드 대시 보드를 만드는 Wordpress 플러그인을 만들고 있습니다. get_posts 쿼리를 사용하여 현재 사용자의 게시물 목록과 각각의 편집 양식을 표시합니다.

문제는 WP_Post 개체에서 게시물 ID에 액세스 할 수없는 것입니다. 내가 var-dump 모든 것을 정결하게 생각하면 ....

내 코드는 다음과 같습니다 ( ). $ currentuser = get_current_user_id(); $ args = array ( 'author'=> $ currentuser, 'posts_per_page'=> -1, 'post_type'=> 'board_post', );

$myposts = get_posts($args); 
foreach ($myposts as $jb_post) : setup_postdata($post); 
?> 
<a href="#edit_<?=$jb_post->id ?>" data-toggle="modal" data-target="#edit_<?=$jb_post->id ?>" class="list-group-item"> Edit </a> <?php endforeach; ?> 

게시 ID가 있어야하는 위치가 출력되지 않습니다.

<?=get_the_title($jb_post); ?> 

올바른 제목을 출력합니다.

<?=get_the_ID($jb_post); ?> 
<?=the_ID($jb_post); ?> 
<?=get_the_ID(); ?> 
<?=the_ID(); ?> 

내가이 글을 당겨 해요 방식에 구조적인 문제가 어떤 종류의가 있다고 가정 : 나는 다음의 모든 시도했을 때 , 그것은 상위 페이지의 ID 메아리. wp_reset_query를 던지면 문제가 해결되지 않습니다. 누구든지 이런 종류의 모범 사례와 관련된 리소스를 알고 있습니까?

편집 : 여기 위해서 var_dump 그것은 때문에 당신이 $ args 배열 매개 변수를 지정하지 않는 이유입니다 ($의 jb_post)

array(15) { 
[0]=> 
    object(WP_Post)#285 (24) { 
    ["ID"]=> 
    int(253) 
    ["post_author"]=> 
    string(1) "1" 
    ["post_date"]=> 
    string(19) "2014-04-17 18:36:27" 
    ["post_date_gmt"]=> 
    string(19) "2014-04-17 18:36:27" 
    ["post_content"]=> 
    string(8) "gsdljdkf" 
    ["post_title"]=> 
    string(10) "Shortcoded" 
    ["post_excerpt"]=> 
    string(0) "" 
    ["post_status"]=> 
    string(7) "publish" 
    ["comment_status"]=> 
    string(6) "closed" 
    ["ping_status"]=> 
    string(4) "open" 
    ["post_password"]=> 
    string(0) "" 
    ["post_name"]=> 
    string(12) "shortcoded-2" 
    ["to_ping"]=> 
    string(0) "" 
    ["pinged"]=> 
    string(0) "" 
    ["post_modified"]=> 
    string(19) "2014-04-17 18:36:27" 
    ["post_modified_gmt"]=> 
    string(19) "2014-04-17 18:36:27" 
    ["post_content_filtered"]=> 
    string(0) "" 
    ["post_parent"]=> 
    int(0) 
    ["guid"]=> 
    string(51) "http://XXX.0.0.1:4001/wordpress/board/shortcoded-2/" 
    ["menu_order"]=> 
    int(0) 
    ["post_type"]=> 
    string(10) "board_post" 
    ["post_mime_type"]=> 
    string(0) "" 
    ["comment_count"]=> 
    string(1) "0" 
    ["filter"]=> 
    string(3) "raw" 
    } 
    [1]=> 
    object(WP_Post)#284 (24) { 
(so on and so forth for all posts) 
} 
+0

https://codex.wordpress.org/Template_Tags/get_posts는'위해서 var_dump ($ myposts)' – meda

답변

3

입니다. 일단 지정하면 원하는 결과를 얻을 수 있습니다.

또한 코드에서 get_the_title ($ jb_post); 이렇게 될 필요가 있습니다 : get_the_title ($ jb_post-> ID);

+0

죄송합니다, 좀 더 명확해야 우리를 보여줍니다에 get_posts를 들어

() 완벽한 레퍼런스는 이동합니다. 제목이 모두 get_the_title ($ jb_post); 및 get_the_title ($ jb_post-> ID); 논쟁이 정의되었다. get_the_ID() get_the_ID ($ jb_post-> id) 등을 제외한 올바른 개체에서 출력되는 다른 모든 필드 – cmonagle

+0

이 두 기능은 Wordpress의 The Loop ([링크] (https : /) /codex.wordpress.org/The_Loop)) 당신은 그것을 사용하지 않았습니다. 또한 get_the_ID ($ jb_post-> id)가 필요하지 않은 경우 $ jb_post-> ID를 사용할 수 있지만 ID는 대문자로 유지해야합니다. – prakhar19

+0

Andd 그것은 비현실적인 신분증이었습니다. 명백한 감독, 죄송합니다. 그리고 지적 해 주셔서 고맙습니다. – cmonagle

관련 문제