Cela fait un moment que je me bats avec cette question et, même s'il existe quelques informations à ce sujet, je ne sais pas comment la mettre en œuvre. Ma question concerne le partage de la page actuelle.
J'utilise <script type="text/javascript" charset="utf-8" >var bShareOpt = {url: "<?php echo get_permalink(); ?>"};</script>
qui montre le permalien de la dernière page au lieu de la page actuelle. Si j'ajoute le post_id number <?php echo get_permalink(2926); ?>
, il affiche le message correct.
Cela se produit car il est appelé en dehors de la boucle.
Utiliser get_queried_object_id
ou get_queried_object
est apparemment une autre option.
Mais malheureusement, ma PHP connaissance est très limitée pour pouvoir coller les morceaux ensemble. J'apprécie toute aide!
J'aime ajouter: Les paramètres de Permalink sont les suivants: website.com/%postname%.html
Chaque icône sociale sur la page d'accueil doit partager cette publication spécifique. J'ai fait de même sur la version anglaise de ce site Web avec Facebook Likes, qui fonctionne à merveille. Maintenant, j'essaie d'atteindre le même objectif avec les icônes sociales chinoises ...
Sur loop.php sur la ligne 30, j'appelle la fonction get_permalink () en tant que telle:
<?php if ( ICL_LANGUAGE_CODE=='zh-hans' ) : ?>
<script type="text/javascript" charset="utf-8" >
var bShareOpt = {url: "<?php echo get_permalink( $postid ); ?>"};
</script>
<div class="social-content">
<div class="bshare-custom">
<div class="bsPromo bsPromo2"></div>
<a title="分享到微信" class="bshare-weixin" href="javascript:void(0);"></a>
<a title="分享到新浪微博" class="bshare-sinaminiblog" href="javascript:void(0);"></a>
<a title="分享到QQ空间" class="bshare-qzone"></a>
<a title="更多平台" class="bshare-more bshare-more-icon more-style-addthis"></a>
<span class="BSHARE_COUNT bshare-share-count" style="float: none;">19.5K</span>
</div>
</div>
<?php endif; ?>
Puisque vous appelez get_permalink () en dehors de la boucle, vous devez définir le paramètre post $ id.
Vous pouvez accéder à l'ID de publication en dehors de la boucle en appelant l'objet global $ post, puis en référant sa valeur d'ID.
Donc, votre code ressemblerait maintenant à ceci:
<?php if ( ICL_LANGUAGE_CODE=='zh-hans' ) :
global $post;
$postid = $post->ID;
?>
<script type="text/javascript" charset="utf-8" >
var bShareOpt = {url: "<?php echo get_permalink( $postid ); ?>"};
</script>
<div class="social-content">
<div class="bshare-custom">
<div class="bsPromo bsPromo2"></div>
<a title="分享到微信" class="bshare-weixin" href="javascript:void(0);"></a>
<a title="分享到新浪微博" class="bshare-sinaminiblog" href="javascript:void(0);"></a>
<a title="分享到QQ空间" class="bshare-qzone"></a>
<a title="更多平台" class="bshare-more bshare-more-icon more-style-addthis"></a>
<span class="BSHARE_COUNT bshare-share-count" style="float: none;">19.5K</span>
</div>
</div>
<?php endif; ?>