我有一个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;}
答案 0 :(得分:0)
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);
答案 1 :(得分:0)
当您查看页面的来源时,某些浏览器(我相信Firefox是其中一个)会向您显示它们正在渲染的来源,而不是您发送它们的来源。如果属性没有指定值,浏览器可以选择像这样显示它,但属性存在但没有值。