Incluindo link/ atalho para editar posts no seu tema WordPress

Hoje um cliente me perguntou se seria possível incluir um link para editar um post nas páginas do site dele. O motivo é simples, tanto quanto a solução, as vezes estamos visitando nosso site e nos deparamos com um erro de digitação ou algo que precisa ser corrigido no texto, entrar na página administrativa, procurar o post e editar não é das tarefas mais difíceis do mundo, mas estamos aqui pra facilitar a vida do cliente, então porque não gerar um link que leve o cliente diretamente para a página de edição do post?

Se eu criasse o link no tema, sem nenhum tipo de deste, este apareceria para todos os visitantes. Alguns podem dizer que não seria um problema visto que se alguém não logado no WordPress clicar no link editar não conseguirá porque o WP vai checar que este não esta logado e negará o acesso.

Ok, do ponto de vista técnico realmente não teria problema, mas em termos visuais e estratégicos não é interessante mostrar o link editar para os visitantes, então antes de exibir o link é necessário verificar se o usuário esta logado, para isto usei o método is_user_logged_in() que serve para testar se o usuário esta logado.

O código ficou mais ou menos assim:

<?php if(is_user_logged_in()){ ?>
	<a href="<?php bloginfo('url');?>/wp-admin/edit.php?p=< ?php the_ID(); ?>">Edit Post</a>
<?php } ?>
}

Este código deve ser utilizado dentro do loop.

No meu projeto o link deveria aparecer para qualquer usuário, então checar se o usuário esta logado é suficiente, mas no projeto de vocês pode haver a necessidade de restringir a exibição apenas para usuários de determinados grupos, se for o caso sugiro a utilização do método current_user_can();.

O método current_user_can() serve para checar se o usuário logado faz parte de determinado grupo de usuários. Os grupos basicamente são:

Se você quiser que apenas usuários do grupo administradores vejam o link altere o código para:

<?php if(current_user_can('administrator')){ ?>
	<a href="<?php bloginfo('url');?>/wp-admin/edit.php?p=< ?php the_ID(); ?>">Edit Post</a>
<?php } ?>
}

O bacana é que essa é uma dica simples, facilita bastante a vida do usuário e, de quebra, trabalha com 2 métodos extremamente úteis do WordPress, em diversas situações você vai precisar verificar se o usuário esta logado ou se faz parte de determinado grupo.

Até mais pessoal, o que acharam da dica? Pretendo escrever mais dicas para desenvolvimento WordPress, é do interesse? Que tipo de conteúdo, nesta linha, vocês esperam?



Se você gostou deste post, escreva um comentário e/ou cadastre-se em nosso feed.

Comentários

O WordPress já se antecipou a isso, com a função edit_post_link() => http://codex.wordpress.org/Function_Reference/edit_post_link.

:)
André.

Ótimo artigo…parabéns.

Escreva um Comentário

(obrigatório)

(obrigatório)