2016-11-28 15 views
0

echoを使用してHTMLを明示的に追加すると、次のコードはうまくいきますが、何らかの理由でそれを含むスクリプトの同じディレクトリにあるマークアップファイルを含めてコードをよりきれいにしたい含まれていません。ここでは、コードは次のようになります。なぜインクルードがここで動作しないのですか?

function render_social_links() { 
$current_post_id=get_the_ID(); 
$them_uri = get_stylesheet_directory_uri(); 
$featured_image_url = ''; 
if (has_post_thumbnail($current_post_id)) { 
    $featured_image_id = get_post_thumbnail_id($current_post_id); 
    $featured_image_url = $featured_image_id ? wp_get_attachment_url($featured_image_id) : ''; 
} 
if(is_home() || is_single()){ 
     if(is_home()){ 
     $bitlink = $lnk = get_bloginfo('url'); 
     $bitly = getBitly($bitlink); 
     $nam = get_bloginfo('name'); 
     } 
     elseif(is_single($current_post_id)){ 
      $bitlink = $lnk = get_permalink($current_post_id); 
      $bitly = getBitly($bitlink); 
      $nam = get_the_title($current_post_id); 
     } 

     include(__DIR__ . '/social-links.php'); 
     } 

    } 

そして、これは社会的-links.php内部のマークアップであり、このファイルは、子テーマであると私は

<div id="socialleft"> 
      <ul> 
       <li> 
        <img src="'.$them_uri.'/images/social/share-38.png" alt=""/> 
       </li> 
       <li> 
        <a href="http://www.facebook.com/sharer.php?u='.$lnk.'&amp;t='.$nam.'" title="شارك على فيسبوك" target="_blank"> 
       </li> 
         <img src="'.$them_uri.'/images/social/facebook-38.png" alt="" /> 
        </a> 
       </li> 
       <li> 
        <a href="http://twitter.com/home/?status='.$nam.' : '.$bitly.'" title="غرد" target="_blank"> 
         <img src="'.$them_uri.'/images/social/twitter-38.png" alt="" /> 
        </a> 
       </li> 
       <li> 
        <a href="https://plus.google.com/share?url='.$lnk.'" onclick="javascript:window.open(this.href, 
         \'\', \'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=600,width=600\');return false;" title="شارك على جوجل+" target="_blank"> 
         <img src="'.$them_uri.'/images/social/Google-plus-38.png" alt="" /> 
        </a> 
       </li> 
      </ul> 
     </div> 
+0

'social-links.php'やそれに類するコンテンツを共有できますか?それに何らかの警告やエラーがありますか? –

+0

'social-links.php'の内容を含めずに直接使用すると、優れた動作をします。しかし何も出力しないとき –

答えて

1

子供ののfunctions.phpに含まれていますあなたのsocial-links.phpが何であるか分かりません。ファイルが含まれている場合は、手動http://php.net/manual/en/function.include.php

にAccoding

、解析は、対象ファイルの先頭でPHPモードから出て、HTMLモードに低下し、そして最後に再び再開します。このため、PHPコードとして実行されるターゲットファイル内のコードは、有効なPHPの開始タグと終了タグの中に囲まなければなりません。

social-links.phpにはHTMLのみが含まれていますが、これはHTMLとして解析されます。

私は簡単なテストをして作業しました。 teste.php

<?php 

function teste_include() 
{ 
    include 'teste_include.php'; 
} 

teste_include(); 

とteste_included.php

<div>teste 2</div><br><div>teste 3</div> 
+0

私の 'social-links.php'はphpとhtmlの両方を含んでいます。内容を追加して質問を編集しました –

+0

問題のある人に解決しました。私はそれをPHPタグで囲み、それは働いた –

0

にあなたの社会的-links.phpを想定ソーシャル-links.php

ここで私は知りませんあなたのカスタムテーマディレクトリは、以下のコードを使用してsocial-links.phpを組み込みます。

include(get_template_directory_uri(). '/social-links.php'); 
関連する問題