Revisando en mi recopilación de archivos para estudiar sobre mi CMS favorito (WordPress) me topado con un artículo muy interesante que nos va permitir agregar elementos a la barra de administración de WordPress para facilitar algunas acciones que nos ayuden en nuestras labores editoriales.
Para ello recurriremos de nuevo a nuestro plugin de funciones o archivo functions.php
, en el que añadiremos el siguiente código:
<info>
function fb_add_admin_bar_trash_menu() {
global $wp_admin_bar;
if ( !is_super_admin() || !is_admin_bar_showing() )
return;
$current_object = get_queried_object();
if ( empty($current_object) )
return;
if ( !empty( $current_object->post_type ) &&
( $post_type_object = get_post_type_object( $current_object->post_type ) ) &&
current_user_can( $post_type_object->cap->edit_post, $current_object->ID )
) {
$wp_admin_bar->add_menu(
array( 'id' => 'delete',
'title' => __('Borrar'),
'href' => get_delete_post_link($current_object->term_id)
)
);
}
}
add_action( 'admin_bar_menu', 'fb_add_admin_bar_trash_menu', 35 );
</info>
El título del botón es estático, ya que el “WP Object” no lo contiene. Otras entradas como “Editar entrada” o similares están contenidas en el “array” y por tanto pueden utilizarse. Puedes encontrarlos en el array $post_type_object->labels
.
A través de add_action
le das la función al gancho (hook), que se ocupa de la salida del contenido. En el ejemplo se da como valor de prioridad 35, que define su lugar en la escala de la barra de administración. A través de $current_objetc
sabemos que estamos en la parte visible de nuestro WordPress y por tanto podemos asignar un ID a la entrada y comprobar los permisos de cada usuario.
El borrado de la entrada, página o tipo de entrada personalizada (que vale para cualquiera de estos contenidos) ocurre con un enlace creado a través de la función get_delete_post_link()
. En este contexto hay otra función, que facilita crear enlaces para acciones determinadas. Toda esta información se encuentra en el archivo wp-includes/link-template.php
.
Con información de ayudawordpress