dbs*_*sso 5 javascript php wordpress
我已经为Wordpress Customizer做了一个自定义控件,我想在脚本(Instafeed.js)中设置我的控件来改变limit数字.
根据这个答案,这就是我到目前为止的做法
<script type="text/javascript">
var userFeed = new Instafeed({
get: '',
tagName: '',
clientId: '',
limit: var imglimit = <?php echo json_encode($imglimit); ?>;,
});
userFeed.run();
</script>
Run Code Online (Sandbox Code Playgroud)
功能
$wp_customize->add_setting(
'imglimit',
array(
'default' => '',
'section' => 'section',
));
$wp_customize->add_control('imglimit', array(
'label' => __('test'),
'section' => 'section',
'settings' => 'imglimit',
'type' => 'select',
'choices' => array(
'5' => '5',
'10' => '10',
'20' => '20',
),
));
function theme_customizer()
{
$imglimit = get_theme_mod('imglimit');
}
Run Code Online (Sandbox Code Playgroud)
谁能告诉我哪里出错了?我一直在寻找这个.
好吧,你这里有一个语法错误:)
var userFeed = new Instafeed({
get: '',
tagName: '',
clientId: '',
limit: var imglimit = <?php echo json_encode($imglimit); ?>;,
// ^^^^^^^^^^^^ here and here ^
});
Run Code Online (Sandbox Code Playgroud)
因此,您应该将该代码块更改为
var userFeed = new Instafeed({
get: '',
tagName: '',
clientId: '',
limit: <?php echo json_encode($imglimit); ?>,
});
Run Code Online (Sandbox Code Playgroud)
实际上你不一定需要在这里进行 json 编码,因为它只是一个数字。但如果那是某个数组或对象,是的,您应该对其进行编码。
在你的 php 代码中你应该使$imglimit全局:
function theme_customizer()
{
global $imglimit;
$imglimit = get_theme_mod('imglimit');
}
Run Code Online (Sandbox Code Playgroud)
或者直接将其放入js中:
var userFeed = new Instafeed({
get: '',
tagName: '',
clientId: '',
limit: <?php echo json_encode(get_theme_mod('imglimit')); ?>,
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
116 次 |
| 最近记录: |