Suporte » Outros assuntos » Adicionar deletar post no AdminBar

  • Resolvido Renato Assis

    (@renssis)


    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]

Visualizando 4 respostas - 1 até 4 (de um total de 4)
  • Moderador Felipe Elia

    (@felipeelia)

    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.

    Criador do tópico Renato Assis

    (@renssis)

    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%

    Moderador Felipe Elia

    (@felipeelia)

    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.

    Criador do tópico Renato Assis

    (@renssis)

    Felipe,

    Funcionou tudo na perfeição, muito obrigado por disponibilizar o seu tempo em nos ajudar.

    Bom trabalho.

Visualizando 4 respostas - 1 até 4 (de um total de 4)
  • O tópico ‘Adicionar deletar post no AdminBar’ está fechado para novas respostas.