반응형
첨부 파일과 함께 Wordpress 게시물을 프로그래밍 방식으로 추가하는 중
$_REQUEST에 post_title, post_content 등 이미지 파일도 받고 있습니다.워드프레스 데이터베이스에 게시물로 저장하려고 합니다.내 페이지에 있다
<?php
require_once("wp-config.php");
$user_ID; //getting it from my function
$post_title = $_REQUEST['post_title'];
$post_content = $_REQUEST['post_content'];
$post_cat_id = $_REQUEST['post_cat_id']; //category ID of the post
$filename = $_FILES['image']['name'];
//I got this all in a array
$postarr = array(
'post_status' => 'publish',
'post_type' => 'post',
'post_title' => $post_title,
'post_content' => $post_content,
'post_author' => $user_ID,
'post_category' => array($category)
);
$post_id = wp_insert_post($postarr);
?>
이렇게 하면 데이터베이스에 있는 모든 것이 투고됩니다만, 첨부 파일과 투고 메타를 추가하는 방법을 모르겠습니다.
내가 어떻게 그럴 수 있을까?누가 나 좀 도와줄래?저는 정말 혼란스러워서 이것을 해결하기 위해 며칠을 보냈습니다.
첨부 파일을 추가하려면 wp_insert_attachment()를 사용합니다.
https://developer.wordpress.org/reference/functions/wp_insert_attachment/
예:
<?php
$wp_filetype = wp_check_filetype(basename($filename), null );
$attachment = array(
'post_mime_type' => $wp_filetype['type'],
'post_title' => preg_replace('/\.[^.]+$/', '', basename($filename)),
'post_content' => '',
'post_status' => 'inherit'
);
$attach_id = wp_insert_attachment( $attachment, $filename, 37 );
// you must first include the image.php file
// for the function wp_generate_attachment_metadata() to work
require_once(ABSPATH . "wp-admin" . '/includes/image.php');
$attach_data = wp_generate_attachment_metadata( $attach_id, $filename );
wp_update_attachment_metadata( $attach_id, $attach_data );
?>
메타 데이터를 추가하려면 wp_update_attachment_metadata()를 사용합니다.
https://developer.wordpress.org/reference/functions/wp_update_attachment_metadata/
첨부 파일을 업로드하고 데이터베이스에 삽입해야 할 경우 를 사용해야 합니다.이렇게 하면 모든 작업이 완료됩니다.파일 인덱스를 지정하기만 하면 됩니다.$_FILES
어레이 및 부모 게시물의 ID:
$attachment_id = media_handle_upload( 'image', $post_id );
if ( is_wp_error( $attachment_id ) ) {
// The upload failed.
} else {
// The upload succeeded!
}
언급URL : https://stackoverflow.com/questions/3805603/programmatically-adding-wordpress-post-with-attachment
반응형
'programing' 카테고리의 다른 글
Node.js 및 Express를 사용한 간단한 API 호출 (0) | 2023.04.02 |
---|---|
Word Press가 제대로 프로그래밍되지 않은 것으로 간주되는 이유는 무엇입니까? (0) | 2023.04.02 |
material-ui 'createSvgIcon'이 '@material-ui/core/utils'에서 내보내지 않았습니다. (0) | 2023.02.13 |
CRA에서 오픈브라우저를 비활성화하려면 어떻게 해야 하나요? (0) | 2023.02.13 |
UI와 비즈니스 로직을 분리하는 Reactjs (0) | 2023.02.13 |