Adicionando links de plugins personalizados do WordPress
Se você já criou um plug-in personalizado para você ou para outra pessoa, provavelmente já fez algo com os links do plug-in do WordPress, mesmo que seja apenas fornecer informações do autor um URL para a página inicial do plug-in.
E você sabe do que estou falando: Esses são os links que aparecem abaixo do nome do plugin.
De acordo com a referência do código, esta informação é:
Os metadados do plug-in, incluindo a versão, o autor, o URI do autor e o URI do plug-in.
Ocasionalmente, porém, você pode achar que deseja adicionar ou modificar os links. Ou seja, você pode adicionar seus próprios links personalizados para aparecer na lista abaixo.
Links de plugins do WordPress
No núcleo, os links do plug-in do WordPress são chamados de meta-linha do plug-in (ou talvez a linha de metadados do plug-in seja mais apropriada).
Independentemente disso, é uma série de informações que são reunidas e renderizadas no front-end sempre que o WordPress deseja mostrar algo. Você pode adicionar informações personalizadas rapidamente fazendo algo assim :
<?php
add_action('plugin_row_meta', __NAMESPACE__. 'addCustomPluginLinks');
/**
* @param array $metaData the array of metadata that appears in the row of plugin information
*
* @return array $metaData the modified array that includes the custom anchor
*/
function addCustomPluginLinks(array $metaData): array
{
$metaData[] = '<a href="https://google.com">Example Link</a>';
return $metaData;
}
Mas isso deixa algumas coisas a desejar. Nomeadamente:
- não há segurança em torno da marcação (e talvez você possa argumentar que não precisa haver se você for o responsável por isso),
- não há acessibilidade ao redor da âncora,
Para mitigar isso, o código pode ser atualizado para isso :
<?php
add_action('plugin_row_meta', __NAMESPACE__. 'addCustomPluginLinks');
/**
* @param array $metaData the array of metadata that appears in the row of plugin information
*
* @return array $metaData the modified array that includes the custom anchor
*/
function addCustomPluginLinks(array $metaData): array
{
// Safely build the markup for the new anchor.
$html = wp_kses(
'<a href="https://google.com" target="_blank" data-title="Example Link" aria-label="Example Link">Example Link</a>',
[
'a' => [
'href' => [],
'target' => [],
'aria-label' => [],
'data-title' => [],
],
]
);
// Insert the markup at the end of the array.
$metaData[] = $html;
return $metaData;
}
E se você realmente quiser ser criativo, você pode usar o método array_splice do PHP para colocar o HTML onde quiser. Além disso, você pode querer adicionar uma cláusula de guarda para um plugin específico usando algo como:
basename(plugin_dir_path(dirname(__FILE__, 2)));
E verificando o valor do resultado. Simplesmente retorne o array de entrada se não for igual ao nome do seu plugin.
Isso está fora do escopo do que pretendemos fazer, no entanto. O acima deve ser suficiente para você começar.