인수 전달과 함께 작동하도록 pre_get_posts를 얻으려고합니다. 나는 내 테마의 function.php 파일에 다음과 같은 기능을 가지고있다.Wordpress : pre_get_posts 및 author.php에서 function.php로 인수 전달
function cpt_on_author_page($query, $user_id) {
if ($query->is_author() && $query->is_main_query()) {
$query->set('post_type', 'programs');
$query->set('posts_per_page', 1);
$query->set('meta_key' , 'show_program_editors');
$query->set('meta_value' , $user_id);
}
}
add_action('pre_get_posts', 'cpt_on_author_page');
이 코드를 통해 내 author.php 파일을 통해이 함수를 호출 : 출력 페이지에서
do_action('pre_get_posts',$user_id);
을, 나는 내가 뭘 잘못
Missing argument 2 for cpt_on_author_page()
는 무엇입니까?
감사합니다. 나는이 함수를 cpt_on_author_page ($ query) { $ author = get_user_by ('slug', get_query_var ('author_name')); $ user_id = $ author-> ID; if ($ query-> is_author() && $ query-> is_main_query()) { $ query-> set ('post_type', 'programs'); $ query-> set ('posts_per_page', 1); \t \t $ query-> set ('meta_key', 'show_program_editors'); \t \t $ query-> set ('meta_value', $ user_id); \t \t } } ADD_ACTION ('pre_get_posts', 'cpt_on_author_page');'하지만 저자의 이름 (캄)에 갈 때 그 – kotshiii
유형의 게시물을'출판 kam' 저자를 '가지고 자사 나에게 어떤 게시물을 표시하지 'show_program_editors' 메타 키에'$ user_id' 값이 주어 졌을 때' – henrywright
그쪽 저자 kam이 (가) 게시물을 게시하지 않았습니다. iam 'admin'이 게시물을 추가하고이 맘에 드는 'kam'과 같은 사용자 지정 메타 키로 저장하십시오. save_programs_meta ($ post_id = false, $ post = false) { // 게시물 유형을 확인하십시오. 교사 \t 경우 ($ 포스트> post_type == '프로그램') { \t \t update_post_meta ($ post_id를 'show_program_editors'$ _ POST [ 'show_program_editors']); \t \t update_post_meta ($ post_id, 'small_pic', $ _ POST [ 'small_pic']); \t} } – kotshiii