我正在使用的Wordpress插件使用Twig模板语言。
我想将一个类别列表输出到模板。我是这样从WP数据库中获取它们的:
$terms = get_terms( 'groups' );
在Twig模板中,我想输出每个术语:
{% for term in terms %}
<a href="{{ term.slug }}">{{ term.name }}</a>
{% endfor %}
问题是,我的一个term.name
是'HIV&amp;艾滋病',它由get_terms()
和Twig消毒,导致'艾滋病&amp; amp; amp;艾滋病”。
我尝试在preg_replace
阶段后使用get_terms()
进行清理:
for( $i = 0; $i < count( $terms ); $i++ )
{
$terms[$i].name = preg_replace('/amp;/', '', $terms[$i]);
}
虽然在页面上只有一组术语时可以,但实际上我还有其他几个地方需要显示术语,包括页面标题和页面内容中的几次。
所以,问题是,是否有一种'正确'的方法来阻止Wordpress和Twig消毒&amp; (&符号)角色两次?
由于
答案 0 :(得分:0)
如果要在Twig中显示值,可以使用 var express = require('express');
var bodyParser = require('body-parser');
var mysql = require('mysql');
var app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:true}));
//constants
const STATUS_SUCCESS = "success";
const STATUS_FAILURE = "failure";
mysql
var connection = mysql.createConnection({
host : '172.0.0.1',
user : '****',
password : '****',
database : 'parking_application'
});
connection.connect();
app.listen(4567,'localhost',function(){
console.log("server started");
});
过滤器。默认所有值都将被转义。
raw
请参阅:Twig raw filter