我在wordpress中创建一个插件。 我无法找到使用插件创建新wordpress页面的方法。 我想在用户激活插件时在wordpress的前端创建一个新页面。
答案 0 :(得分:6)
像这样的东西
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');
有关其他可能的参数,请参阅here。
答案 1 :(得分:2)
这样你可以添加页面
// Create post object
$my_post = array(
'post_title' => 'My post',
'post_content' => 'This is my post.',
'post_status' => 'publish',
'post_author' => 1,
'post_category' => array(8,39)
);
// Insert the post into the database
wp_insert_post( $my_post );
有关详细信息,请参阅此https://codex.wordpress.org/Function_Reference/wp_insert_post
答案 2 :(得分:2)
借助以上代码,您可以创建动态页面。 首先,我们需要检查我们要创建的帖子是否可用。 如果存在,则无需创建另一个,您可以编辑 页。但是,如果您更改了页面标题,则会创建新页面。 在这里,我借助页面标题创建了一个页面。
$ check_page_exist = get_page_by_title('title_of_the_page','OBJECT','page');
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'
)
);
}
答案 3 :(得分:1)
一个方便的帮助器功能,用于创建一堆页面:
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);