PHP -动态社会图标的url在Wordpress


PHP - Dynamic Social Icon URLs in Wordpress

客户端刚刚要求我根据Wordpress帖子的语言/地区类别返回不同的Facebook页面链接。例如,如果用户进入一篇葡萄牙语的博客文章,标题中的FB图标将动态地变为"facebook.com/brandnamebrasil"而不是默认的"facebook.com/brandname"

这是我迄今为止在主题头文件中添加PHP元数据的最佳尝试。如有任何建议或指示,将不胜感激:

<?php 
$theurl = $_SERVER['REQUEST_URI'];
$thecat = explode("/", $theurl);
$post_cat = $thecat[2];
if($post_cat == "category")
{$post_cat = $thecat[3];}
else
{$post_cat = $thecat[2];}
else if($post_cat == "latin-america-pt")
{$the_cat_url = "latin-america-pt/?lang=pt-br"; $mast_url="/wp-content/brasil_header.jpg"; $facebook_link = "https://www.facebook.com/brandnamebrasil";}
else
{$the_cat_url = $post_cat; $facebook_link="https://www.facebook.com/brandname/";} 
 ?>

<div style="position:relative; display: inline; width:1026px; height:128px; background: #fff; margin-top: 45px; padding: 10px 15px;"><a href="<?php echo site_url(); ?>/<?php echo $the_cat_url;?>"><img src="<?php echo site_url(); ?><?php echo $mast_url; ?>" border="0"/></a> 
    <a href="<?php echo $facebook_url;?>" style="display:block; float:right; padding:10px 17px 0px 10px;" target="_blank"><img src="/wp-content/uploads/2016/07/FB.jpg" class="social-icons"></a> 
    <a href="http://instagram.com/brandname" style="display:block; float:right; padding:10px 17px 0px 10px;" target="_blank"><img src="/wp-content/uploads/2016/07/instagram.jpg" class="social-icons"></a> 
    <a href="http://twitter.com/brandname" target="_blank" style="display:block; float:right; padding:10px 17px 0px 10px;" target="_blank"><img src="/wp-content/uploads/2016/07/twitter.jpg" class="social-icons"></a> 
    <a href="http://pinterest.com/brandname" style="display:block; float:right; padding:10px 17px 0px 10px;" target="_blank"><img src="/wp-content/uploads/2016/07/pinterest.jpg" class="social-icons"></a> 
</div>

您正在通过url获取语言信息。如果url格式在将来改变,这可能是危险的。

您是否使用不同post语言的插件?如果是的话,大多数插件都有特定的函数来返回当前帖子的语言。例如,对于polylang,您可以使用pll_current_language()

您也可以使用wordpress函数get_locale()来获取当前语言,如下所示:

<?php if(get_locale() == 'zh_TW') : ?>
                    只需輸入您的姓名和電子郵件就可接收我們的最新文章:   
<?php else : ?> 
                    Simply enter your name and email to receive our latest posts:
<?php endif; ?>

最后,如果你创建了自己的wordpress分类来区分不同的帖子语言,你可以使用循环中的the_category()来获得你的语言分类。