我正在尝试自定义一个名为WP Store Locator的WP插件,该插件使用underscore.js(我对此一无所知)。
一个模板文件仅包含 一些添加到$output
变量中的内容,然后返回该变量。像这样:
<?php
$output = "Blah";
$output .= "More blah";
$output .= "<ul></ul>";
return $output;
?>
该<ul></ul>
标记的内容已完全被其他地方的另一个函数替换。我可以通过在上面的<ul>
标签之间添加一些文本来确认这一点,并在页面加载时将其替换。
向<ul>
中注入代码的函数大致为:
function custom_listing_template() {
global $wpsl, $wpsl_settings;
$listing_template = '<li data-store-id="<%= id %>" id="<%= id %>" class="vendor <%= terms %>">' . "\r\n";
$listing_template .= "blah blah";
$listing_template .= "blah blah blah";
$listing_template .= '</li>';
return $listing_template;
}
重要编辑:如果您查看最终输出页面的来源,则该页面仍然为空。上面的PHP代码似乎实际上是在页面底部的标签中将这些内容作为JS添加的。
这是我的问题:
我正在尝试将当前<li>
的值(正在循环访问中)与先前<li>
的值进行比较。但是由于第一段代码(带有空<ul>
)是在之前,所以循环开始,而第二段代码(带有单独的<li>
)已经在循环的一次迭代,如何存储一个迭代中可以在后续迭代中访问的变量?
我想在<li>
之前做一些非常基础的事情,例如:
if (!usedCategories.includes(currentCategory)) {
<h4>Current Category</h4>
}
usedCategories.push(currentCategory);
但是usedCategories
数组将始终为空,因为从一个末尾开始的推送不会传递到下一个。
感谢您可能提供的任何见解或指导。