wp_insert_post를 사용하여 게시 ID 삽입
새로운 투고를 삽입할 때 투고 ID를 선택하려면 다음과 같이 하십시오.
$post = array(
'ID' => 3333,
'comment_status' => 'open',
'post_content' => 'hi world!',
'post_name' => 'title_1',
'post_status' => 'publish',
'post_title' => 'sdfsfd fdsfds ds',
'post_type' => 'post',
);
$post_id = wp_insert_post($post);
ID가 = 3333인 새 게시물을 삽입하려고 합니다.
네가 이걸 사용할 수 있다는 걸 알고 싶어할 것 같아서'import_id'
대신'ID'
'시도'해서 그걸 사용할 거예요.
다음 두 번째 예를 참조하십시오.http://codex.wordpress.org/Function_Reference/wp_insert_post#Example
간단한 해결책은 다음과 같습니다.
//check if post with id 3333 is already in database, if so, update post 3333
if (get_post_status(3333) ) {
$post = array(
'ID' => 3333,
'comment_status' => 'open',
'post_content' => 'hi world!',
'post_name' => 'title_1',
'post_status' => 'publish',
'post_title' => 'your title',
'post_type' => 'post',
);
$post_id = wp_insert_post($post);
}
//if not in database, add post with id 3333
else {
$post = array(
'import_id' => 3333,
'comment_status' => 'open',
'post_content' => 'hi world!',
'post_name' => 'title_1',
'post_status' => 'publish',
'post_title' => 'your title',
'post_type' => 'post',
);
$post_id = wp_insert_post($post);
}
'ID'=> 'post_id'는 해당 게시물을 갱신하고 'import_id'=> post_id는 해당 ID로 새 게시물을 만듭니다.
또한 ID를 루프스루하여 피드하여 새로운 투고를 무한히 작성할 위험 없이 여러 개의 삽입/업데이트를 실행할 수 있습니다.
미안해, 할 수 없어.다음은 Codex에서 Devs가 말한 내용입니다.
중요: $post['] 값 설정ID'] 해당 ID 번호로 투고는 작성되지 않습니다.이 값을 설정하면 함수는 해당 ID 번호로 게시물을 $post에서 지정된 다른 값으로 업데이트합니다.한마디로 새로운 투고를 삽입하려면 $post['ID']는 공백이거나 아예 설정되어 있지 않아야 합니다.
http://codex.wordpress.org/Function_Reference/wp_insert_post
daveaspinall 말처럼.나는 그것을 하는 기능을 한다.
require( 'wp-load.php' );
function simpleImportPost($title,$import_id,$content){
// Create post object
$my_post = array();
$my_post['post_title'] = $title;
$my_post['import_id']=$import_id;
$mypost['comment_status'] = 'closed';//I'll set all closed
$my_post['post_content'] = $content;
$my_post['post_status'] = 'publish';
$my_post['post_author'] = 1;
$my_post['post_category'] = array(0);
// Insert the post into the database
return wp_insert_post( $my_post );
}
예:
simpleImportPost('My Post 35',35,"35 Content");
API의 insert 기능이 아닌 것만으로 가능합니다.대신 INSERT 쿼리를 직접 작성할 수 있습니다.항상 API를 사용할 수 있을 때 사용하고 싶어하지만 사용할 수 없는 경우가 있습니다.쿼리는 다음과 같습니다.
global $wpdb;
$wpdb->query( $wpdb->prepare("
INSERT INTO {$wpdb->posts}
VALUES( %d, %d, NOW(), %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW(), %s, %s, %d, %s, %d, %s, %s, %d )",
$ID,
$post_author,
$post_date_gmt,
$post_content,
$post_title,
$post_excerpt,
$post_status,
$comment_status,
$ping_status,
$post_password,
$post_name,
$to_ping,
$pinged,
$post_modified_gmt,
$post_content_filtered,
$post_parent,
$guid,
$menu_order,
$post_type,
$post_mime_type,
$comment_count
) );
먼저 ID가 데이터베이스에 존재하지 않는지 확인해야 합니다.나중에 포스트 테이블 스키마가 변경될 경우 변경을 고려하기 위해 쿼리를 업데이트해야 할 수 있습니다.
언급URL : https://stackoverflow.com/questions/6558286/insert-post-id-with-wp-insert-post
'programing' 카테고리의 다른 글
본문 데이터가 작동하지 않는 게시물 가져오기 매개 변수가 비어 있습니다. (0) | 2023.03.12 |
---|---|
로컬 파일에서 React JS로 json 데이터 로드 (0) | 2023.03.12 |
React 응용 프로그램에 서비스 있음 (0) | 2023.03.12 |
각도 재료: 입력에 대한 자동 완성 제안을 비활성화할 수 있습니까? (0) | 2023.03.12 |
Jquery-Select2의 Multi-Value Select에서 선택한 값을 설정하는 방법 (0) | 2023.03.12 |