2016-11-02 68 views
0

客戶端剛剛要求我根據Wordpress帖子的語言/地區類別返回不同的Facebook頁面鏈接。例如,如果用戶登錄葡萄牙語的博客文章,標題中的FB圖標將動態更改爲「facebook.com/brandnamebrasil」,而不是默認的「facebook.com/brandname」PHP - Wordpress中的動態社交圖標網址

這是我最好的嘗試到目前爲止在主題頭文件中添加了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

您正在通過網址獲取語言信息。如果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()在循環,讓您的語言類別。

希望這會有所幫助。

+0

感謝您的回覆袁,我真的只需要知道$ facebook_url元數據是否會填充php參數下面的FB href。我已經用不同的結果測試了幾種不同的方法。謝謝你的幫助! – rokenbk97

+0

也剛剛意識到我有一個完整的大腦放屁,並呼應「$ facebook_url」而不是「$ facebook_link」社交圖標,但現在已經解決了這個錯誤。 – rokenbk97