我有一个php脚本,根据满足的某些条件在列表元素中输出链接元素,代码如下:
global $wpdb;
function currentURL() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;}
$getUrl = $wpdb->get_results("SELECT option_name,option_value FROM wp_options WHERE option_name = 'siteurl' ");
$url = $geturl->option_value;
$getData = $wpdb->get_results("SELECT post_title,guid FROM wp_posts WHERE post_type = 'page' ");
echo "<ul id='"mainNavInnerContainer'">";
if(currentURL() == $url){
echo "<li><a href='"" . $url . "'" id='"current'">home</a></li>";}
else{ echo "<li><a href='"" . $url . "'">home</a></li>"; }
我遇到的问题是,当我在浏览器中查看源代码视图中的元素时,我得到以下内容:
<a href>Home</a>
我真的很困惑为什么会这样,我希望其他人能知道为什么。
编辑我能够使用foreach循环把值在我的$url变量,但这是好的做法吗?因为我知道$getUrl中的查询总是返回一行,但是这个方法似乎仍然很容易出错。下面是修改后的$url变量代码:
foreach($getUrl as $urlResult){
$url = $urlResult->option_value;}
- 添加到代码
error_reporting(E_ALL);
的顶部 -
添加检查:
$getUrl = $wpdb->get_results("SELECT option_name,option_value FROM wp_options WHERE option_name = 'siteurl' ");$url = $geturl->option_value;var_dump (url)美元;
当您查看页面的源代码时,一些浏览器(我相信Firefox就是其中之一)会显示它们正在呈现的源代码,而不是您发送给它们的源代码。如果属性没有指定值,浏览器可能会选择像这样显示它,有属性但没有值。