您可以使用wp_insert_post
要插入一个物理页面,我建议为插件创建一个页面,然后使用重写规则为所有项目提供一个以该页面为基础的URL。
EDIT
使用添加的查询变量快速重写示例:
function wpa55546_rewrites(){
$page_slug = \'your-page\';
// urls will be in the form
// /your-page/42/
add_rewrite_rule(
$page_slug . \'/([0-9]+)/?$\',
\'index.php?pagename=\' . $page_slug . \'&my_id=$matches[1]\',
\'top\'
);
}
add_action( \'init\', \'wpa55546_rewrites\' );
function wpa55546_query_vars( $query_vars ){
$query_vars[] = \'my_id\';
return $query_vars;
}
add_filter( \'query_vars\', \'wpa55546_query_vars\' );
然后在模板中,您可以访问查询变量的值:
echo get_query_var( \'my_id\' );
你还必须
flush rewrite rules 在适当的时候。