如何从 <%= %> 中的变量中提取 php 变量


How to extract a php variable from a variable inside <%= %>

我正在构建一个子主题,我需要替换父主题中的一些文件,以创建一些新功能。当我遇到这种类型的代码时,您使用 <% %>。我不知道他们做什么或如何在语法中工作。我需要这样写。他们在回声中使用了 if 语句,我不明白他们如何"et_pb_showcase_tax"是选定的分类法。那么我如何让"et_pb_showcase_tax"成为$current_分类法呢?

法典:

$get_taxonomies = get_taxonomies();
if($get_taxonomies){
    echo '<select id="et_pb_showcase_tax">';
    foreach ( $get_taxonomies as $taxonomy ) {
        echo <<<END
<option value="$taxonomy"<%= typeof( et_pb_showcase_tax ) != 'undefined' && '$taxonomy' == et_pb_showcase_tax ?  ' selected="selected"' : '' %>> $taxonomy </option>
END;
    }
    echo '<select>';
}

任何事情都会有所帮助!提前感谢!

这些是 ASP 短标记。由于您似乎正在使用 PHP,因此必须将其逻辑转换为 PHP。

此代码要么已损坏,要么设计为通过某些预处理器运行。

ASP样式标签(<% ... %>)的内容看起来像JavaScript(检查typeof(x)与字符串'undefined'匹配是你检测未初始化变量的方式),但它混合到PHP和HTML中的方式毫无意义。

编写WordPress主题的人可能基于某些ASP代码,并且没有正确检查剩余的代码。

但是,我不知所措地解释如何将 PHP 值与 JS 值进行比较,并让结果简单地将 HTML 属性回显到正确的位置 - PHP 必须首先运行以回显 '$taxonomy' 的值,但随后它也会回显整个<select>, 因此,将属性插入其中为时已晚。我的结论是,这段代码要么是魔术,要么是胡说八道。