隐藏"永久删除"从仪表板链接

时间:2016-12-13 17:58:50

标签: wordpress woocommerce

我想隐藏/删除此消息"永久删除"从订单仪表板的垃圾视图链接。是否有自定义wp函数可以执行此操作?感谢。

delete permanently

有几个教程可以做相反的事情:(不是我想要的) http://kingsolutions.org.uk/wordpress/wordpress-index/disable-wp-trash/ http://www.agentwp.com/how-to-disable-trash-in-wordpress

2 个答案:

答案 0 :(得分:2)

你可以使用纯css

来做到这一点
.order_title span.delete {display:none;}

这应该是你的最后一道防线

// disable delete entirely
function restrict_post_deletion($post_ID){
    $type = get_post_type($post_ID);
    if($type == 'shop_order'){
        echo "You are not authorized to delete this page.";
        exit;
    }
}

add_action('wp_trash_post', 'restrict_post_deletion', 10, 1);
add_action('before_delete_post', 'restrict_post_deletion', 10, 1);

上面的操作是获取您要删除的帖子的post_id,看看它是什么类型。如果是shop_order的类型,请不要通过完全退出脚本来删除它们并向用户显示消息,这样他们就会停止做傻事。

答案 1 :(得分:1)

快速而肮脏的方法:

将此添加到主题functions.php:

function load_custom_wp_admin_style() {
        wp_register_style( 'custom_wp_admin_css', get_template_directory_uri() . '/admin-style.css', false, '1.0.0' );
        wp_enqueue_style( 'custom_wp_admin_css' );
}
add_action( 'admin_enqueue_scripts', 'load_custom_wp_admin_style' );

然后创建该样式表并隐藏其中包含该链接的范围:

.order_title span.delete {display:none;}

如果您使用的是儿童主题(并且您确实应该这样做),请将get_template_directory_ui()更改为get_stylesheet_directory_uri()