【问题标题】:Creating pages when activating plugin WordPress激活插件 WordPress 时创建页面
【发布时间】:2016-08-26 19:37:44
【问题描述】:

任何人请帮助! 我有一个在后端创建 post_type 页面的插件。该插件正在创建所需的页面,但问题是每当我尝试查看页面列表时,它都会显示“未找到页面”消息。截图在这里:http://prnt.sc/azalub

我在这里创建所需页面的代码:

$new_page = array('post_title'    => $title,
                  'post_content'  => '['.$shortcode.']',
                  'post_status'   => 'publish',
                  'post_type'     => 'page'
                );
$post_id = wp_insert_post( $new_page );

【问题讨论】:

    标签: wordpress plugins


    【解决方案1】:

    为此,您需要注册插件激活hook
    请看下面的代码示例:

    function add_my_custom_page() {
        // Create post object
        $my_post = array(
          'post_title'    => wp_strip_all_tags( 'My Custom Page' ),
          'post_content'  => 'My custom page content',
          'post_status'   => 'publish',
          'post_author'   => 1,
          'post_type'     => 'page',
        );
    
        // Insert the post into the database
        wp_insert_post( $my_post );
    }
    
    register_activation_hook(__FILE__, 'add_my_custom_page');
    

    【讨论】:

    • 您好,我尝试了您的建议,但仍然没有帮助。我在我的插件中使用了 OOP 方法,我在 register_activation 中挂钩了该函数。
    • 我的截图工作正常。您可以看到上图...您可以尝试在没有任何其他代码的情况下创建新插件并将我的代码添加到工作或不工作...如果有任何问题信息我会帮忙..
    • 我在之前的插件中使用了相同的代码,并且运行良好。但就是想不通这个。停用插件后,它看起来很好。但是在激活时,错误又回来了。
    • opps.. 你可以和我分享你的代码。我会检查并解决。
    • 我自己修好了。它是“query_var”,在我的一个 CPT 上设置为 true。我只是将它设置为 false 并且它正在工作:)
    【解决方案2】:

    在创建自定义帖子类型时,我在插件中的一个自定义帖子类型上将“query_var”设置为“true”。将其设置为“false”就可以让一切正常。

    【讨论】:

      【解决方案3】:

      如果您使用类,请尝试传递 array($this, 'method_name') 而不是函数名。

      【讨论】:

        猜你喜欢
        • 2023-02-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-09
        • 1970-01-01
        相关资源
        最近更新 更多