客户刚要求我根据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>
答案 0 :(得分:0)
您正在通过网址获取语言信息。如果url格式在将来发生变化,这可能会很危险。
您是否使用任何插件用于不同的语言?如果是,大多数插件都具有返回当前帖子语言的特定功能。例如,对于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()来获取您的语言类别。
希望这有帮助。