source

프로그래밍 방식으로 새 워드프레스 페이지를 만드는 방법

factcode 2023. 3. 15. 19:58
반응형

프로그래밍 방식으로 새 워드프레스 페이지를 만드는 방법

워드프레스에서 플러그인을 만들고 있습니다.플러그인을 사용하여 새 워드프레스 페이지를 만드는 방법을 찾을 수 없습니다.사용자가 플러그인을 활성화 할 때 워드프레스의 프런트 엔드에 새로운 페이지를 만들고 싶습니다.

위의 코드를 사용하여 동적 페이지를 만들 수 있습니다.우선 우리가 만들 게시물이 가능한지 확인해야 합니다.존재하는 경우는, 다른 것을 작성할 필요가 없습니다.페이지 내용을 편집할 수 있습니다.그러나 페이지 제목을 변경하면 새 페이지가 생성됩니다.페이지 제목으로 페이지를 만들었습니다.

$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

반응형