如果我使用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' );
}
}
这是social-links.php中的标记,这个文件是一个子主题,并包含在子函数中.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.'&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 :(得分:1)
我不知道你的social-links.php
是什么。
根据手册http://php.net/manual/en/function.include.php
当包含文件时,解析将退出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>
答案 1 :(得分:0)
我不知道你的social-links.php在哪里
假设您的自定义主题目录中的social-links.php然后使用下面给出的代码来包含您的social-links.php
include(get_template_directory_uri(). '/social-links.php' );