我需要在主页的标题中制作与内页页面不同的页面标题。这似乎是一个简单的PHP修复,但它是我的头脑。这似乎是解决方案,但实现它会给出错误代码:PHP if URL equals this then perform action
这是我的代码:
<?php
/**
* The Header for our theme.
*/
?><!DOCTYPE html>
<html>
<head>
<link href='http://fonts.googleapis.com/css?family=GFS+Didot'
rel='stylesheet' type='text/css'>
<title><?php wp_title('|', true, 'right'); ?></title>
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<div>
<header class="pagetitle">
<h1>
<a href="<?php echo esc_url(home_url('/')); ?>">
<?php bloginfo('name'); ?>
</a>
</h1>
<nav>
<?php wp_nav_menu(array('theme_location' => 'primary')); ?>
</nav>
</header>
有人可以告诉我if / else语句会在主页上给我一个而在所有其他页面上有不同的吗?
答案 0 :(得分:1)
试试这个:
<title>
<?php
if( is_home() ) {
echo 'Homepage Title';
}
else {
echo 'Other Pages Title';
}
?>
</title>
参考:http://codex.wordpress.org/Function_Reference/is_home
以下是我在自己的网站上使用的内容,只显示主页上的网站标题,但子页面上的文章标题:
<title>
<?php wp_title(''); ?><?php if(wp_title('', false)) { echo ' |'; } ?> <?php bloginfo('name'); ?>
</title>
答案 1 :(得分:1)
if( is_home() || is_front_page() ) {
echo 'HOMEPAGE';
}
else {
echo 'INTERIOR PAGES';
}
答案 2 :(得分:0)
the question you referred to上的最新编辑显示了正确的if / else语句:
$host = $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
if($host == 'your.homepage.com/url/etc') {
echo "Homepage header text";
}
else {
echo "Other header text";
}
用于检查用户是否在主页上的特定于wordpress的解决方案是函数is_home()
,如果正在显示主博客页面,则返回布尔值。有关找到is_home()
函数的更多详细信息here。在wordpress中还有其他带有自己功能的“条件标签”。可以找到这些列表here。
例如,你也可以使用is_home()
函数重写上面的PHP代码块:
if (is_home()) {
echo "Homepage header text";
}
else {
echo "Other header text";
}