WordPress 创建自定义功能

Posted

技术标签:

【中文标题】WordPress 创建自定义功能【英文标题】:WordPress Create Custom Capability 【发布时间】:2013-01-15 01:54:01 【问题描述】:

我正在开发一个购物车插件,并计划为客户创建一个新的用户角色。

我的问题是如何创建自定义功能,以便我可以将这些自定义功能分配给新用户角色,this answer 提供了一种创建新功能的方法,但这只是原始功能的新名称。

谁能解释如何创建一个全新的功能来控制一些自定义功能?

【问题讨论】:

@maiorano84 谢谢,我已经搜索了一段时间,找不到满足我确切要求的东西。 wordpress.stackexchange.com/questions/35165/… “让我为你谷歌一下”的讽刺意味是谷歌把我带到了这里 嗨。这个你搞清楚了吗?我也是一样的泡菜。我想要仅在 WooCommerce 中编辑订单状态的功能。 【参考方案1】:

您可以通过插件创建自定义角色和功能。自定义代码提供了两个选项,或者您可以使用现有插件。

对于自定义代码: https://wordpress.stackexchange.com/questions/35165/how-do-i-create-a-custom-role-capability

使用现有插件: User Roles and Capabilities

【讨论】:

【参考方案2】:

您首先应该了解,Wordpress 用户角色就像一组功能一样简单。话虽如此,既然你说你正在创建一个插件,我想你对编码并不陌生,因此不害怕编写你的解决方案而不是为此使用另一个插件。

此代码应帮助您创建新用户角色并向其添加自定义功能。

<?php

// create a new user role

function wpeagles_example_role()

    add_role(
        'example_role',
        'example Role',
        [
            // list of capabilities for this role
            'read'         => true,
            'edit_posts'   => true,
            'upload_files' => true,
        ]
    );


// add the example_role
add_action('init', 'wpeagles_example_role');

要向此用户角色添加自定义功能,请使用以下代码:

//adding custom capability
<?php
function wpeagles_example_role_caps()

    // gets the example_role role object
    $role = get_role('example_role');

    // add a custom capability 
    // you can remove the 'edit_others-post' and add something else (your     own custom capability) which you can use in your code login along with the current_user_can( $capability ) hook.
    $role->add_cap('edit_others_posts', true);


// add example_role capabilities, priority must be after the initial role     definition
add_action('init', 'wpeagles_example_role_caps', 11);

进一步参考:https://developer.wordpress.org/plugins/users/roles-and-capabilities/

【讨论】:

以上是关于WordPress 创建自定义功能的主要内容,如果未能解决你的问题,请参考以下文章

php [WordPress] [WP Rocket]自定义功能(MU)插件的Boilerplate。

禅道学习0x00

自定义功能接口SummaryStatistics

扩展XAF模型信息实现自定义功能

使用可选的自定义功能 onclick 扩展单个 toastr 创建

每个系列的 Pandas groupby 自定义功能