Ciao!
C’è lo shortcode per i PM, ma ovvio non è la stessa cosa, non puoi usarlo per aggiungere una voce di menu al volo perchè non (probabilmente, ma forse si) quasi nessun plugin o feature consente di aggiungere una voce ai menu via uno shortcode.
Questo snippet funziona, e vedo di trovare il modo di inserirlo di default, il codice è questo, dopo la spiegazione semplice di come usarlo:
OPEN wp_w3all.php and JUST BEFORE this line:
// workaround for password on Signups: see wp_hash_password() here below
ADD this:
add_action('wp_footer','wp_w3all_new_phpbbpm_pushJS');
function wp_w3all_new_phpbbpm_pushJS($elemID, $msg='') {
global $w3all_custom_output_files, $w3all_iframe_phpbb_link_yn, $wp_w3all_forum_folder_wp, $w3all_url_to_cms;
$elemID = empty($elemID) ? 'menu-main1' : $elemID;
if ( defined("W3PHPBBUSESSION") ) {
$phpbb_user_session = unserialize(W3PHPBBUSESSION);
if($phpbb_user_session[0]->user_unread_privmsg > 0){
if ($w3all_iframe_phpbb_link_yn > 0){
$w3all_url_to_phpbb_ib = $w3allhomeurl . "/" . $wp_w3all_forum_folder_wp . "/?i=pm&folder=inbox";
} else {
$w3all_url_to_phpbb_ib = $w3all_url_to_cms . "/ucp.php?i=pm&folder=inbox";
}
$s = "<script>
jQuery(document).ready(function($) {
var msgs = '".__( 'You have ', 'wp-w3all-phpbb-integration' )."' + ".$phpbb_user_session[0]->user_unread_privmsg." + '".__( ' unread forum PM', 'wp-w3all-phpbb-integration' )."';
jQuery('#".$elemID."').append('<li id=\"menu-item-99\" class=\"menu-item\"><a href=\"".$w3all_url_to_phpbb_ib."\">' + msgs + '</li>');
});
</script>
<style type=\"text/css\" media=\"screen\">
</style>";
echo $s;
}
}
}
Funziona su tutti i menu se rispettano le impostazioni di menu di default di WordPress, come il tuo tema e quasi tutti fanno, infatti il tuo menu on top, viene mostrato con ID primary-menu
<ul id="primary-menu" class="menu menu-desktop">
se vuoi aggiungere ad un’altro menu, con ID diverso, cambierai questa linea sul codice sopra:
$elemID = empty($elemID) ? 'menu-main1' : $elemID;
in
$elemID = empty($elemID) ? 'UL-ID-ELEMENTO-CUI-AGGIUNGERE-LI' : $elemID;
magari in questo caso sarà necessario adattare questa parte, per riflettere gli elementi del menu (qualsiasi):
jQuery('#".$elemID."').append('<li id=\"menu-item-99\" class=\"menu-item\"><a href=\"".$w3all_url_to_phpbb_ib."\">' + msgs + '</li>');
Ma come dicevo, usa lo snippet come è, dovrebbe funzionare sul tuo tema, come su tutti quelli di default.
Vedo di aggiungere questa opzione da qualche parte nella admin del plugin, o in qualche maniera in modo da non “disturbare” troppo chi magari, si trova opzioni su opzioni da settare senza capire esattamente come usarle e se attivarle.
E’ già abbastanza confusa per utenti meno esperti!
Fa sapere se funge!!