我正在重构标题中的一些代码。php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="<?php bloginfo(\'html_type\'); ?>; charset=<?php bloginfo(\'charset\'); ?>" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?php bloginfo(\'name\'); ?> <?php if ( is_single() ) { ?> » Blog Archive <?php } ?> <?php wp_title(); ?></title>
<meta name="generator" content="WordPress <?php bloginfo(\'version\'); ?>" /> <!-- leave this for stats -->
<?php wp_head(); ?>
<link rel="stylesheet" href="<?php bloginfo(\'stylesheet_url\'); ?>" type="text/css" media="screen" />
<link rel="alternate" type="application/rss+xml" title="<?php bloginfo(\'name\'); ?> RSS Feed" href="<?php bloginfo(\'rss2_url\'); ?>" />
<link rel="pingback" href="<?php bloginfo(\'pingback_url\'); ?>" />
</head>
<body <?php body_class(); ?>>
<div id="wrap">
<div id="header">
<a href="http://threegreenbirds.org" class="hlink"><h1><?php bloginfo(\'name\'); ?></h1><div id="tagline"><?php bloginfo(\'description\'); ?></div>
</a>
<!--Main Navigation-->
<div id="mainNav">
<ul>
<li><a href="http://threegreenbirds.org">Home</a></li>
<?php /* EDIT THE MENU BY CHANGING ONLY THE NUMBERS AFTER INCLUDE*/ wp_list_pages(\'sort_column=menu_order&include=8,14,10,12,16,6&title_li=\'); ?>
</ul>
<div id="search">
<form method="get" id="searchform" action="<?php bloginfo(\'url\'); ?>/">
<input type="text" value="<?php the_search_query(); ?>" name="s" id="s" class="searchbox" size="20" />
<input type="submit" id="searchsubmit" value="Search" class="searchbutton" />
</form>
</div>
</div>
<!--end main navigation-->
</div>
其中一个要求是我将其更改为一个移动响应网站,我在上面的文件中开始使用以下代码:
<meta name="viewport" content="width=device-width, initial-scale=1.0">
我还添加了body\\u类函数,因此我有一个问题,当我查看表单操作时,我看到了以下内容:
action="<?php bloginfo(\'url\'); ?>/"
我以前从未见过这样的事情,但请记住,我没有10多年的时间做这件事。通常来说,这是我开发表单操作的方式:
action="<?php esc_url(home_url(\'/\')); ?>"
所以我的问题是,我应该改变它,还是有一个我不熟悉的合法的最佳实践正在实施?我知道最好的做法是使用esc\\u url()函数。
最合适的回答,由SO网友:engelen 整理而成
Generally, they will return the same URL, 像bloginfo( \'url\' )
将呼叫home_url
内部包含任何参数,以及默认的第一个参数($path
) 属于home_url
是空字符串。然而bloginfo( \'url\' )
将对其应用附加筛选器,即home_url
滤器
常见做法是使用home_url
, 确实是esc_url
(尽管home_url()
返回无效的URL将产生更大的问题:-))。在WordPress core中,bloginfo( \'url\' )
几乎不再使用。相反home_url( \'/\' )
已使用。
因此,总结一下:use esc_url( home_url( \'/\' ) )
.