让页面显示在所有页面中

时间:2016-04-25 22:10:31

标签: wordpress

如果我使用wp_insert_page()创建一个页面,我注意到它没有显示在仪表板的所有页面显示中。我知道正在创建该页面,因为我可以使用链接[site]/?id=664访问该页面,其中664wp_insert_page()调用返回的页面ID。

有谁知道为什么页面不在所有页面中?

2 个答案:

答案 0 :(得分:0)

您需要使用wp_insert_post()而不是wp_insert_page()。这是一个例子:

// Create post object
$my_post = array(
  'post_title'    => wp_strip_all_tags( $_POST['post_title'] ),
  'post_content'  => $_POST['post_content'],
  'post_status'   => 'publish',
  'post_type'   => 'page'
);

// Insert the post into the database
wp_insert_post( $my_post );

the blog

答案 1 :(得分:0)

并不总是想要解决WordPress提供的问题,而是寻求不同的解决方案。有时您不需要后端的各种应用程序来发布帖子。

一个简单的例子是一个表单,无论在哪里,表单的内容应该自动发布在你的WordPress博客上。或者,您可以使用其他状态发送它,因此仅在管理员批准时才发布它们。

为了一个良好的开端,这是一个功能,它非常强大,适用于负责出版物的所有流程。

wp_insert_post($postarr = array(), $wp_error = false)

您可以在Codex of the function中找到很多信息。

可能的参数 $ postarr

comment_status    [ 'closed' | 'open' ] // 'closed' means no comments.
ID                [ <post id> ] //Are you updating an existing post?
menu_order        [ <order> ] //If new post is a page, sets the order should it appear in the tabs, Default is 0
page_template     [ <template file> ] //Sets the template for the page.
ping_status       [ value of default_ping_status ] //Ping status?, Default is empty string
pinged            [ empty ] //?

post_author       [ $user_ID ] //The user ID number of the author.
post_category     [ array(<category id>, <...>) ] //Add some categories.
post_content      [ <the text of the post> ] //The full text of the post.
post_date         [ Y-m-d H:i:s ] //The time post was made.
post_date_gmt     [ Y-m-d H:i:s ] //The time post was made, in GMT.
post_excerpt      [ <an excerpt> ] //For all your post excerpt needs.
post_parent       [ <post ID> ] //Sets the parent of the new post, Default is 0
post_password     [ empty ] //password for post?, Default is empty string
post_status       [ 'draft' | 'publish' | 'pending' ] //Set the status of the new post., Default is 'draft'
post_title        [ <the title> ] //The title of your post.
post_type         [ 'post' | 'page' ] //Sometimes you want to post a page, Default is 'post'.
tags_input        [ '<tag>, <tag>, <...>' ] //For tags.
to_ping           [ whetever ] //Whether to ping.

示例

在最简单的情况下,您将表单的内容提供给数组,它使用此函数来处理WordPress中的进程。

要在WordPress之外使用此功能,必须在此区域中提取WordPress的功能。如果表单未在WordPress中的模板中实现,但在WP之外,则必须实现文件wp-load.php,有关更多信息,请阅读文章“Embed WordPress Functions Outside WordPress”。

 require( '../my_wordpress_install_root/wp-load.php' );

// Create post object
$my_post = array();
$my_post['post_title']    = 'My post';
$my_post['post_content']  = 'This is my post.';
$my_post['post_status']   = 'publish';
$my_post['post_author']   = 1;
$my_post['post_category'] = array(0);

// Insert the post into the database
wp_insert_post( $my_post );"