underscore.js如何注入此代码?

时间:2018-11-16 00:24:23

标签: javascript php wordpress underscore.js

我正在尝试自定义一个名为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数组将始终为空,因为从一个末尾开始的推送不会传递到下一个。

感谢您可能提供的任何见解或指导。

0 个答案:

没有答案