2016-11-02 2 views
0

고객이 Wordpress 게시물의 언어/지역 카테고리를 기반으로 다른 Facebook 페이지 링크를 반환하도록 요청했습니다. 예를 들어 사용자가 포르투갈어로 블로그 게시물을 올리면 헤더의 FB 아이콘이 기본 "facebook.com/brandname"대신 "facebook.com/brandnamebrasil"으로 동적으로 변경됩니다.PHP - Wordpress의 동적 소셜 아이콘 URL

여기 내 최선의 시도입니다. 지금까지 테마 헤더 파일에 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을 통해 언어 정보를 받고 있습니다. 나중에 URL 형식이 변경되면 위험 할 수 있습니다.

다른 언어로 된 플러그인을 사용하고 있습니까? 그렇다면 대부분의 플러그인에는 현재 게시물의 언어를 반환하는 특정 기능이 있습니다. 예를 들어 polylang의 경우 pll_current_language()을 사용합니다.

당신은 또한 다음과 같이 현재 언어를 얻기 위해 워드 프레스 기능 get_locale()를 사용할 수 있습니다

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

을 마지막으로 서로 다른 포스트 언어를 구별하기 위해 자신의 워드 프레스 카테고리를 만들 경우, 당신은 당신의 언어를 얻기 위해 루프에서 the_category()을 사용할 수 있습니다 범주.

희망이 도움이됩니다.

+0

응답을 주셔서 감사합니다. 나는 $ facebook_url 메타 데이터가 php 인수 아래 FB href를 채우는지를 알 필요가 있습니다. 다양한 결과로 몇 가지 다른 방법으로 테스트했습니다. 당신의 도움을 주셔서 감사합니다! – rokenbk97

+0

또한 방금 두뇌 방귀를 가지고 있고 사회 아이콘에 대한 "$ facebook_link"대신에 "$ facebook_url"을 울리는 것을 알았지 만 이제는 그 오류가 설명됩니다. – rokenbk97