Aggiunta di link plug-in WordPress personalizzati
Se hai mai creato un plug-in personalizzato per te o per qualcun altro, probabilmente hai fatto qualcosa con i collegamenti del plug-in di WordPress anche se fornisce solo informazioni sull’autore un URL alla home page del plug-in.
E sai di cosa parlo: questi sono i link che compaiono sotto il nome del plugin.
Secondo il codice di riferimento, queste informazioni sono:
I metadati del plug-in, inclusi versione, autore, URI dell’autore e URI del plug-in.
Occasionalmente, tuttavia, potresti scoprire di voler aggiungere o modificare i collegamenti. Cioè, puoi aggiungere i tuoi collegamenti personalizzati da visualizzare nell’elenco seguente.
Collegamenti plug-in WordPress
In sostanza, i collegamenti ai plug-in di WordPress sono indicati come meta riga del plug-in (o forse la riga dei metadati del plug-in sarebbe più appropriata).
Indipendentemente da ciò, è una serie di informazioni che vengono assemblate e renderizzate sul front-end ogni volta che WordPress vuole mostrare qualcosa. Puoi aggiungere rapidamente informazioni personalizzate facendo qualcosa del genere :
<?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;
}
Ma questo lascia un paio di cose a desiderare. Vale a dire:
- non c’è sicurezza intorno al markup (e forse potresti fare un caso che non c’è bisogno di esserlo se sei tu quello responsabile),
- non c’è accessibilità intorno all’ancora,
Per mitigare questo, il codice può essere aggiornato a questo :
<?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 vuoi davvero essere creativo, puoi usare il metodo array_splice di PHP per posizionare l’HTML dove vuoi. Inoltre, potresti voler aggiungere una clausola di guardia per un plug-in specifico usando qualcosa come:
basename(plugin_dir_path(dirname(__FILE__, 2)));
E controllando il valore del risultato. Restituisci semplicemente l’array in arrivo se non è uguale al nome del tuo plugin.
Questo è al di fuori dello scopo di ciò che miriamo a fare, però. Quanto sopra dovrebbe essere sufficiente per iniziare.