我有一个文件,我包括整个网站的索引。php,单个。php等。
此文件的行为非常严格,其行为就像它不是wordpress环境的一部分,意思是:
我在get\\u bloginfo(\'template\\u url\')上出错,它无法从我的选项页中获取值。
知道会发生什么吗?
Here is the include code i have in my index.php (somewhere mid page):
<?php include(get_bloginfo(\'template_url\') .\'/extras/floater.php\'); ?>
(包括文件,所以问题不在那里)
Here is the actuall "floater.php" code... :
<?php
function establishParms() {
// get yes/no values and urls..
$facebook = get_option(\'sg_show_facebookfloater\');
$twitter = get_option(\'sg_show_twitterfloater\');
$mail = get_option(\'sg_show_mailfloater\');
// facabook
if($facebook == "Yes") {
$facebook = \'<li><a href="\'. get_option(\'sg_url_facebookfloater\') .\'"><img src="\'. get_bloginfo(\'template_url\') .\'/images/facebook.png" alt="\'.__(\'Visit us on Facebook\', \'sagive\').\'" /></a></li>\';
}
// twitter
if($twitter == "Yes") {
$twitter = \'<li><a href="\'. get_option(\'sg_url_twitterfloater\') .\'"><img src="\'. get_bloginfo(\'template_url\') .\'/images/twitter.png" alt="\'.__(\'Visit us on Twitter\', \'sagive\').\'" /></a></li>\';
}
// mail
if($mail == "Yes") {
$mail = \'<li><a href="\'. get_option(\'sg_url_mailfloater\') .\'"><img src="\'. get_bloginfo(\'template_url\') .\'/images/mail.png" alt="\'.__(\'Contact us\', \'sagive\').\'" /></a></li>\';
}
}
?>
<div class="floatingBar" >
<ul class="gotop">
<?php echo $facebook; ?>
<?php echo $twitter; ?>
<li><a href="#top"><?php echo \'<img src="\'. get_bloginfo(\'template_url\') .\'/images/mail.png" alt="" />\'; ?></a></li>
<li><a href="#top"><?php echo \'<img src="\'. get_bloginfo(\'template_url\') .\'/images/up.png" alt="" />\'; ?></a></li>
</ul>
</div>
<没有什么特别的,也没有。。我想不出答案。
而且这个网站还有一个奇怪的问题(它在localhost上运行得很好)
我有一个函数,它在函数中做了一件简单的事情。php文件:
function setPaths() {
$templateUrl = get_bloginfo(\'template_url\');
$imagesUrl = get_bloginfo(\'template_url\')."/images/";
}
但当尝试在索引中使用$templateUrl时。php文件它什么都没给我。。
非常感谢您的帮助:)
干杯,萨吉夫
REVISION:
下面是我遇到的一个错误示例:
Fatal error: Call to undefined function get_bloginfo() in /home/workspac/public_html/sagive/wp-content/themes/sagive-spaceJunkie/extras/floater.php on line 29
最合适的回答,由SO网友:aaronwaggs 整理而成
该错误表明正在WordPress生成的页面之外调用文件“floater.php”。将其添加到文件顶部,以便能够使用WordPress功能。
编辑:请参阅Brian Fegter关于为include使用服务器路径的响应。
if ( !function_exists( \'get_bloginfo\' ) )
require( \'../../../wp-blog-header.php\' ); // check path leads to root of your WordPress install
关于setPaths函数,可以将其设置为全局变量,也可以使用常量。根据您使用这些函数的目的,您可以直接在函数中定义这些函数。php文件,而不是调用其他函数。
function setPaths() {
// option one
global $templateUrl, $imagesUrl;
$templateUrl = get_bloginfo( \'template_url\' );
$imagesUrl = $templateUrl . "/images/"; // no need to call get_bloginfo again
// option two preferred assuming these values are not changing.
define( \'TEMPLATE_URL\', get_bloginfo( \'template_url\' ) );
define( \'IMAGES_URL\', TEMPLATE_URL . \'/images/\' );
}
/*
setPaths();
global $templateUrl, $imagesUrl;
echo $templateUrl;
echo $imagesUrl;
echo TEMPLATE_URL;
echo IMAGES_URL;
*/