[英]Dynamic Title Tag in PHP
我正在尝试在网站上动态填充标题标签。 我的 index.php 页面中有以下代码
<?php $title = 'myTitle'; include("header.php"); ?>
以及我的标题页面上的以下内容
<title><?php if (isset($title)) {echo $title;}
else {echo "My Website";} ?></title>
但无论我做什么,我都无法让这段代码工作。 有没有人有什么建议?
谢谢
这有效(测试它 - 创建一个新文件夹,将第一行代码放在名为 index.php 的文件中,将第二行代码放在 header.php 中,运行它,检查标题栏)。
你应该仔细检查,如果这两个文件都在同一个文件夹,并添加的是从右边的index.php正确的header.php。 并确保 $title 在您的代码中的某处没有被设置回null
。
在此处了解有关变量范围的更多信息。
编辑:可见更改的示例是:
TEST1<?php $title = 'myTitle'; include("header.php"); ?>
<title>TEST2<?php if ...
您是在设置标题变量之前还是之后包含头文件? 如果您之前包含它,那么当然不会设置它。
如果你在 index.php 中做这样的事情:
<?php
include('header.php');
$title = "blah blah blah";
?>
那么它将不起作用 - 在设置 $title 变量之前包含头文件并输出标题文本。
尝试在使用之前声明变量
$title = '123';
require 'includes/header.php';
嗨试试这个老派的方法..
在您的头文件中(例如 header.php)
<?php
error_reporting(E_ALL);
echo '<!DOCTYPE html>
<!--[if IE 7 ]><html class="ie7" lang="en"><![endif]-->
<!--[if IE 8 ]><html class="ie8" lang="en"><![endif]-->
<!--[if IE 9 ]><html class="ie9" lang="en"><![endif]-->
<!--[if (gte IE 10)|!(IE)]><!-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<!--<![endif]-->
<head>';
?>
<?php
if($GLOBALS['title']) {
$title = $GLOBALS['title'];
} else {
$GLOBALS['title'] = "Welcome to My Website";
}
if($GLOBALS['desc']) {
$desc = $GLOBALS['desc'];
} else {
$desc = "This is a default description of my website";
}
if($GLOBALS['keywords']) {
$keywords = $GLOBALS['keywords'];
} else {
$keywords = "my, site, key, words";
}
echo "\r\n";
echo "<title> ". $title ." | MyWebsite.com </title>";
echo "\r\n";
echo "<meta name=\"description\" content='". $GLOBALS['title']."'>";
echo "\r\n";
echo "<meta name=\"keywords\" content='".$GLOBALS['title']."'>";
echo "\r\n";
?>
在你的 PHP 页面文件中这样做(例如 about.php)
<?php
$GLOBALS['title'] = 'About MyWebsite -This is a Full SEO Title';
$GLOBALS['desc'] = 'This is a description';
$GLOBALS['keywords'] ='keyword, keywords, keys';
include("header.php");
?>
我假设您的标头存储在不同的文件中(可能在根目录之外),那么上述所有解决方案都不适用于您,因为$title
在定义之前$title
设置。
这是我的解决方案:在您的header.php
文件中,您需要通过以下方式将$title
设置为全局: global $title;
然后在你的标题中回应它:
<?php global $title; ?>
<title><?php echo isset($title) ? $title : "{YOUR SITE NAME}"; ?></title>
然后在每个页面中,您可以在包含头文件后定义标题,例如在index.php
文件中:
include_once("header.php");
$title = "Your title for better SEO"
这已经过测试并且正在运行。
我正在尝试在网站上动态填充标题标签。 我的index.php页面中有以下代码
<?php $title = 'myTitle'; include("header.php"); ?>
以及我标题页上的以下内容
<title><?php if (isset($title)) {echo $title;}
else {echo "My Website";} ?></title>
但是,无论我做什么,我都无法使此代码正常工作。 有没有人有什么建议?
谢谢
我正在尝试在网站上动态填充标题标签。 我的index.php页面中有以下代码
<?php $title = 'myTitle'; include("header.php"); ?>
以及我标题页上的以下内容
<title><?php if (isset($title)) {echo $title;}
else {echo "My Website";} ?></title>
但是,无论我做什么,我都无法使此代码正常工作。 有没有人有什么建议?
谢谢
我们还可以使用函数及其在实时网站上工作的好方法。
做简单的:
创建一个 index.php 文件并粘贴以下几行:
<?php include("title.php");?>
<!doctype html>
<html>
<head>
<title><?php index_Title(); ?></title>
<head>
</html>
- 然后
创建一个 title.php 文件并粘贴以下几行:
<?php
function index_Title(){
$title = '.:: itsmeShubham ::.';
if (isset($title)){
echo $title;
}else{
echo "My Website";
};
}
?>
它会按照您的需要完美运行,我们还可以通过仅触摸一个 title.php 文件来更新任何标题。
<?php
echo basename(pathinfo($_SERVER['PHP_SELF'])['basename'],".php");
?>
这有效。 因为我使用的是 PHP,所以我不检查其他扩展; 如果需要,请使用pathinfo['extension']
。
您可以通过使用define();
来实现这一点define();
功能。
在您的header.php
文件中添加以下行:
<title><?php echo TITLE; ?></title>
在要设置动态标题的页面上,添加以下行:
EX:我的页面名称是user-profile.php
,我想在其中设置动态标题,因此我将添加该页面的那些行。
<?php
define('TITLE','User Profile'); //variable which is used in header.php
include('header.php');
include('dbConnection.php');
?>
所以我的user-profile/.php
文件的标题是: User Profile
像这样,您可以在您网站的任何页面上添加标题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.