Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php open和close标记在回调函数中的奇怪用法_Php_Wordpress - Fatal编程技术网

php open和close标记在回调函数中的奇怪用法

php open和close标记在回调函数中的奇怪用法,php,wordpress,Php,Wordpress,这是一篇关于2012年WordPress主题的文章,实际上是作为WordPress自己学习主题发展的好材料而提出的 此函数作为回调函数发送。但问题是PHP open和close标记在代码中的奇怪用法: 我已经用以下注释标记了它们:/*这不是一个干净的代码,但并不像您认为的那样奇怪,当函数直接打印html时,php标记是关闭的,您可以这样更改代码: <?php // I think that your code miss opening tag or maybe opening tag i

这是一篇关于2012年WordPress主题的文章,实际上是作为WordPress自己学习主题发展的好材料而提出的

此函数作为回调函数发送。但问题是PHP open和close标记在代码中的奇怪用法:


我已经用以下注释标记了它们:/*这不是一个干净的代码,但并不像您认为的那样奇怪,当函数直接打印html时,php标记是关闭的,您可以这样更改代码:


<?php // I think that your code miss opening tag or maybe opening tag is before your snippet

function twentytwelve_header_style() {
 $text_color = get_header_textcolor();


 if ( $text_color == get_theme_support( 'custom-header', 'default-text-color' ) ) {
    return;
 }

 echo '<style type="text/css" id="twentytwelve-header-css">'; /* <------ ECHO AND NO CLOSING PHP TAG */

if ( ! display_header_text() ) :

    echo '.site-title, .site-description { position: absolute; clip: rect(1px 1px 1px 1px); /* IE7 */ clip: rect(1px, 1px, 1px, 1px); }'; /* <------ ECHO AND NO CLOSING PHP TAG */
    else :
    echo '.site-header h1 a, .site-header h2 { color: #<?php echo $text_color; }'; /* <------ ECHO AND NO CLOSING PHP TAG */
endif;
echo '</style>'; /* <------ ECHO AND NO CLOSING PHP TAG */


是的,在某种程度上很奇怪,但主要是将php代码与css标记夹在一起,就像上面的代码一样,这是wordpress中的一些插件在php和数据库中保存一些设置时所做的,然后使用条件来呈现css设置。仅供参考,你真的不需要遵循这一点

<?php // I think that your code miss opening tag or maybe opening tag is before your snippet

function twentytwelve_header_style() {
 $text_color = get_header_textcolor();


 if ( $text_color == get_theme_support( 'custom-header', 'default-text-color' ) ) {
    return;
 }

 echo '<style type="text/css" id="twentytwelve-header-css">'; /* <------ ECHO AND NO CLOSING PHP TAG */

if ( ! display_header_text() ) :

    echo '.site-title, .site-description { position: absolute; clip: rect(1px 1px 1px 1px); /* IE7 */ clip: rect(1px, 1px, 1px, 1px); }'; /* <------ ECHO AND NO CLOSING PHP TAG */
    else :
    echo '.site-header h1 a, .site-header h2 { color: #<?php echo $text_color; }'; /* <------ ECHO AND NO CLOSING PHP TAG */
endif;
echo '</style>'; /* <------ ECHO AND NO CLOSING PHP TAG */