Home 게시판 커뮤니티 Q&A 포스트를 가져올때 query_posts()사용

1개 답변, 2 voices Last updated by Avatar of JinnJinn 6 years, 8 months 전
  • Avatar of morgomorgo
    Participant
    @morgo
    #53683

    $args = array(
    ‘post_type’ => ‘request_sheet’,
    ‘post_status’ => ‘publish’,
    ‘posts_per_page’ => -1,
    ‘post_author’ => $current_user_id(현재로그인한 유저id),

    );

    $posts = query_posts($args);

    워드프레스 신규 유저입니다.
    현재로그인한 유저id를 조건에 포함시켜도 원하는 정보가 아닌 전체 유저 아이디로 검색된 결과가 나옵니다.
    wpdb를 사용하면 괜찮은데 왜 query_posts에서는 post_author가 제대로 걸리지않나요?

    Avatar of JinnJinn
    Participant
    @veteran
    #53684

    post_author 파라미터가 wpdb 클래스에서는 _posts 테이블의 필드이므로 되겠지요.

    보통 말하는 워드프레스 쿼리 클래스에서는 author 파라미터를 사용합니다.

    그리고, 쿼리 결과를 어떤 페이지(category, author, search, single, ……)에 출력하는지 말씀하시지 않아 뭔가 결정하기 어려운데,

    query_posts 함수보다는 WP_Query 클래스, get_posts 함수 또는 wpdb 클래스를 사용하고,

    워드프레스 루프(The Loop) 또는 PHP 루프로 데이터를 출력하는 게 좋겠습니다.

    또, 상황에 따라 wp_reset_postdata 또는 wp_reset_query 함수를 함께 사용하면 됩니다.

    • 쿼리 클래스 또는 함수
    • 루프(워드프레스 루프 또는 PHP 루프)
    • 쿼리 리셋 ( wp_reset_postdata 또는 wp_reset_query – query_posts 사용했을 때 )

     

    query_posts 함수와 메인 쿼리에 관해서는 코덱스에 설명이 있으니 대략으로 해독 한 번 해보시면 되겠습니다.

    query_posts()

    https://codex.wordpress.org/Plugin_API/Action_Reference/pre_get_posts

    https://codex.wordpress.org/Function_Reference/is_main_query#Under_the_Hood

    Avatar of Jinn
    i wish i was..
2 글 보임 - 1에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.