Adicionar deletar post no AdminBar
-
Olá pessoal, tudo bem?
Bom eu estou fazendo um site com links externo em cada post.. porem me surgiu a duvida e se por acaso este link estiver quebrado? eu teria que clicar no post > clicar em editar post e depois excluir.. bom eu queria um processo digamos assim simples.. a ideia que eu tive foi inserir 1 ícone de lixeira no adminbar esse ícone ficaria invisível na índex e só apareceria quando eu estivesse de fato em algum “post”.. eu conseguir ir até aqui
function wpmidia_custom_toolbar_link($wp_admin_bar) { $args = array( 'id' => 'gmail', 'title' => 'Gmail', 'href' => 'https://mail.google.com/mail/#inbox', 'meta' => array( 'class' => 'gmail', 'title' => 'My Gmail account', 'target' => '_blank' ) ); $wp_admin_bar->add_node($args); } add_action('admin_bar_menu', 'wpmidia_custom_toolbar_link', 999);
Com esse código consigo inserir “Gmail”na adminbar porem não conseguir inserir a função de deletar.. eu não inserir ai para vcs ver esse código funcionando.
A página que eu preciso de ajuda: [fazer login para ver o link]
-
Oi @renssis,
Você pode usar o seguinte código:
function wpbr76399_add_admin_bar_trash_menu( $wp_admin_bar ) { $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_node( array( 'id' => 'delete', 'title' => __( 'Excluir' ), 'href' => get_delete_post_link( $current_object->ID ) ) ); } } add_action( 'admin_bar_menu', 'wpbr76399_add_admin_bar_trash_menu', 99 );
Usei o código daqui como referência.
Se você não tiver mais nenhuma dúvida, não esqueça de marcar seu tópico como resolvido.
Funcionou Perfeitamente obrigado.
Uma outra coisa se não for pedir muito, como eu consigo fazer a pagina redirecionar depois de excluir o post? tentei mais ele vai para pagina 404 de toda forma.. isso é estética o script acima funcionou 100%
Experimenta substituir
'href' => get_delete_post_link( $current_object->ID )
por
'href' => add_query_arg( 'frontend', 'true', get_delete_post_link( $current_object->ID ) )
E inclua este outro código no seu
functions.php
:function wpbr76399_trashed_post_handler( $post_id ) { if ( filter_input( INPUT_GET, 'frontend', FILTER_VALIDATE_BOOLEAN ) ) { wp_redirect( home_url( '/' ) ); exit; } } add_action( 'trashed_post', 'wpbr76399_trashed_post_handler' );
Tirei daqui.
Não esqueça de voltar para dizer se funcionou e, se for o caso, para marcar seu tópico como resolvido.
Felipe,
Funcionou tudo na perfeição, muito obrigado por disponibilizar o seu tempo em nos ajudar.
Bom trabalho.
- O tópico ‘Adicionar deletar post no AdminBar’ está fechado para novas respostas.