我在创建wordpress自定义主题时遇到了一个奇怪的问题。 出于某种原因
hello <?php echo 'world'; ?>
显示为html
hello <?php echo 'world'; ?>
而不是
hello world
之前我制作了很多wordpress网站,但这是亚马逊服务器上的第一个 任何帮助将非常感激。 标记
网站是lmof.uk/demo
header.php(尽管stackoverflow会让我发帖)
<html xmlns="http://www.w3.org/1999/xhtml">
<? global $woocommerce; ?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" / >
<title><?php wp_title(''); ?></title>
<link rel="shortcut icon" href="<?=get_template_directory_uri()?>/images/favicon.png" />
<link href='http://fonts.googleapis.com/css?family=Droid+Serif' rel='stylesheet' type='text/css'>
<!--[if IE 7]><link rel="stylesheet" href="ie7.css" type="text/css" media="screen"> <![endif]-->
<? wp_enqueue_script('jquery'); ?>
<? wp_enqueue_script('bootstrapcss'); ?>
<? wp_head(); ?>
<link href="<? bloginfo('stylesheet_url')?>" media="screen" rel="stylesheet" type="text/css" />
<script type="text/javascript">
$(document).ready(function(){
var page = $("body").attr("id");
$(".page-"+page).addClass("active");
});
</script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-51095016-1', 'sample4u.co.uk');
ga('send', 'pageview');
</script>
</head>
<?php if(is_page()) { $page_slug = 'page-'.$post->post_name; } ?>
<body id="<?
$exp = explode("?",$_SERVER['REQUEST_URI']);
echo end(array_filter(explode("/",$exp[0]))) ?>" <?php body_class($page_slug); ?>
data-spy="scroll" data-target="#navbar-category" data-offset="60">
答案 0 :(得分:0)
我以为我查过了
如果有其他人遇到此问题,您需要将short_open_tags = on添加到php.ini文件How to enable PHP short tags?
答案 1 :(得分:0)
鉴于您后来的评论和后续代码,我假设您的原始示例实际上已经有效而不是失败。
您的问题是您使用的是短打开标签。这些只有在设置了PHP的short_open_tag选项时才有效,这就是they're discouraged in the manual的原因。如果你正在为其他人开发代码 - 例如WordPress的插件或主题 - 你应该避免使用短标签,因为不能保证服务器会设置short_open_tag
,并且最终用户可能无法使用它们上。
答案 2 :(得分:0)
只是为了提供信息而添加。你不需要滥用php标签。只在html和php之间切换时才使用它们。当您使用纯PHP时,您不必在每一行上打开和关闭php标记
这一行
<? wp_enqueue_script('jquery'); ?>
<? wp_enqueue_script('bootstrapcss'); ?>
<? wp_head(); ?>
可以简化为
<?
wp_enqueue_script('jquery');
wp_enqueue_script('bootstrapcss');
wp_head();
?>