Me gustaría ocultar / eliminar este enlace "Eliminar permanentemente" de la vista de la papelera del panel de pedidos. ¿Existe una función wp personalizada que pueda hacer esto? Gracias.

delete permanently

Sin embargo, hay varios tutoriales que hacen lo contrario: (no es lo que quiero) http://kingsolutions.org.uk/wordpress/wordpress-index / disable-wp-trash / http://www.agentwp.com/how-to-disable- papelera-en-wordpress

0
Amjad 13 dic. 2016 a las 20:58

2 respuestas

La mejor respuesta

Puedes hacer eso usando css puro

.order_title span.delete {display:none;}

Y esta debería ser tu última línea de defensa

// 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);

Lo que hace lo anterior es obtener el post_id de la publicación que está eliminando y ver de qué tipo es. Si el tipo es shop_order, no les permita eliminar saliendo del script por completo y muestre un mensaje al usuario para que deje de hacer tonterías.

2
Yahya Hussein 15 dic. 2016 a las 07:32

Método rápido y sucio:

Agregue esto a su tema 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' );

Luego cree esa hoja de estilo y oculte el intervalo que tiene ese enlace:

.order_title span.delete {display:none;}

Si está usando un tema hijo (y realmente debería), cambie get_template_directory_ui() a get_stylesheet_directory_uri()

1
Poldira 14 dic. 2016 a las 05:19