使用 wordpress 插件创建自定义页面

Create custom page using wordpress plgin

我是 wordpress 初学者,所以我的问题可能很愚蠢,但我搜索了各种方法但找不到解决方案,所以写在这里。

我想创建一个 wordpress 插件,可以在 word press 中创建自定义用户注册页面。

首先我创建了页面模板并放置在主题目录中,然后我创建了页面并从创建的属性和页面中选择了模板。到此为止没问题。

现在想通过插件在其他 wordpress 中创建同样的东西。

所以我在插件中添加了下面的代码

    $_p = array();
    $_p['post_title'] = $the_page_title;
    $_p['post_content'] = "This text may be overridden by the plugin. You shouldn't edit it.";
    $_p['post_status'] = 'publish';
    $_p['post_type'] = 'page';
    $_p['comment_status'] = 'closed';
    $_p['ping_status'] = 'closed';
    $_p['post_category'] = array(1); // the default 'Uncatrgorised'

    // Insert the post into the database
    $the_page_id = wp_insert_post( $_p );

    if ( !$the_page_id ) {
      wp_die( 'Error creating template page' );       
    } else {
      update_post_meta( $the_page_id, '_wp_page_template', 'page-userregistration.php' ); 
    }

如果模板文件被复制到主题目录中但没有它,它工作正常。

我尝试了几种解决方案来使用插件目录中的模板,例如

add_filter('single_template','add_user_registration_page')

但它不起作用。

任何帮助或代码都会有所帮助。

查看这个示例插件,它展示了如何使用插件发送页面模板 https://github.com/tommcfarlin/page-template-example/