반응형
프로그래밍 방식으로 새 워드프레스 페이지를 만드는 방법
워드프레스에서 플러그인을 만들고 있습니다.플러그인을 사용하여 새 워드프레스 페이지를 만드는 방법을 찾을 수 없습니다.사용자가 플러그인을 활성화 할 때 워드프레스의 프런트 엔드에 새로운 페이지를 만들고 싶습니다.
위의 코드를 사용하여 동적 페이지를 만들 수 있습니다.우선 우리가 만들 게시물이 가능한지 확인해야 합니다.존재하는 경우는, 다른 것을 작성할 필요가 없습니다.페이지 내용을 편집할 수 있습니다.그러나 페이지 제목을 변경하면 새 페이지가 생성됩니다.페이지 제목으로 페이지를 만들었습니다.
$check_page_exist = get_page_by_title('title_of_the_page', 'OBJECT', 'page');
// Check if the page already exists
if(empty($check_page_exist)) {
$page_id = wp_insert_post(
array(
'comment_status' => 'close',
'ping_status' => 'close',
'post_author' => 1,
'post_title' => ucwords('title_of_the_page'),
'post_name' => strtolower(str_replace(' ', '-', trim('title_of_the_page'))),
'post_status' => 'publish',
'post_content' => 'Content of the page',
'post_type' => 'page',
'post_parent' => 'id_of_the_parent_page_if_it_available'
)
);
}
뭐 이런 거
function some_function()
{
$post_details = array(
'post_title' => 'Page title',
'post_content' => 'Content of your page',
'post_status' => 'publish',
'post_author' => 1,
'post_type' => 'page'
);
wp_insert_post( $post_details );
}
register_activation_hook(__FILE__, 'some_function');
다른 가능한 매개 변수에 대해서는 여기를 참조하십시오.
다수의 페이지를 작성할 수 있는 편리한 도우미 기능:
function create_page($title_of_the_page,$content,$parent_id = NULL )
{
$objPage = get_page_by_title($title_of_the_page, 'OBJECT', 'page');
if( ! empty( $objPage ) )
{
echo "Page already exists:" . $title_of_the_page . "<br/>";
return $objPage->ID;
}
$page_id = wp_insert_post(
array(
'comment_status' => 'close',
'ping_status' => 'close',
'post_author' => 1,
'post_title' => ucwords($title_of_the_page),
'post_name' => strtolower(str_replace(' ', '-', trim($title_of_the_page))),
'post_status' => 'publish',
'post_content' => $content,
'post_type' => 'page',
'post_parent' => $parent_id //'id_of_the_parent_page_if_it_available'
)
);
echo "Created page_id=". $page_id." for page '".$title_of_the_page. "'<br/>";
return $page_id;
}
create_page( 'How it works', 'This is how it works');
create_page( 'Contact Us', 'The contact us page');
create_page( 'About Us', 'The about us page');
create_page( 'Team', 'The team page');
$pid = create_page( 'Sample Page', 'This is sample page');
create_page( 'Sample SubPage 1', 'This is sample SubPage 1',$pid);
create_page( 'Sample SubPage 2', 'This is sample SubPage 2',$pid);
이렇게 하면 페이지를 추가할 수 있습니다.
// Create post object
$my_post = array(
'post_type' => 'page',
'post_title' => 'My post',
'post_content' => 'This is my post.',
'post_status' => 'publish',
'post_author' => 1
);
// Insert the post into the database
wp_insert_post( $my_post );
상세한 것에 대하여는, https://codex.wordpress.org/Function_Reference/wp_insert_post 를 참조해 주세요.
언급URL : https://stackoverflow.com/questions/32314278/how-to-create-a-new-wordpress-page-programmatically
반응형
'source' 카테고리의 다른 글
Angular 템플릿에 코멘트(출력 HTML이 아닌 개발자용)를 추가하려면 어떻게 해야 합니까? (0) | 2023.03.15 |
---|---|
변수가 리스트인지 태플인지 검정 (0) | 2023.03.15 |
스프링 부트 테스트 구성 (0) | 2023.03.15 |
Wordpress - 사용자 지정 게시 유형에 피처링 이미지 메타 상자가 표시되지 않음 (0) | 2023.03.15 |
Ajax 업데이트/렌더 컴포넌트의 클라이언트 ID를 확인하는 방법식 "foo"가 "bar"에서 참조되는 구성 요소를 찾을 수 없습니다. (0) | 2023.03.15 |