在主题定制器页面中使用IF语句

时间:2013-10-09 作者:user1632018

我正在慢慢地,但肯定地,逐步完善我的第一个wordpress主题。我试图让所有的美学都有不同的选择,但分类很好,所以它不是压倒性的。

因此,在我的主题定制器页面中,我有不同的复选框,可以区分特定组件样式的不同选项。例如,我可以有两个复选框来区分用户想要的按钮类型。

所以我的问题是:

如果选中了组中的另一个复选框,如何自动取消选中一个复选框?我想这将防止我对页面上的同一个元素有不同的选项被选中,并可能弄糟一些东西。我想如果语句可能是唯一的方法,但我不确定如何添加它们,因为我没有创建页面,这一切都是使用主题定制器API完成的。

我开始认为我应该使用选项页面,尽管它应该是过去的事情,不提供实时预览,但它似乎会增加更多的灵活性。

1 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

你的描述听起来好像你需要一个单选按钮。单选按钮的设计是专用的——每个按钮集在任何时候都只能检查一个按钮。

这个Settings API 支持无线盒子,尽管使用它们的文档很少。我不得不四处挖掘,进行实验。键是的第二个参数add_control. 你需要通过\'type\' =>收音机\'and provide a单选按钮值的选项数组。

function radio_controls_wpse_117203($wpc) {

  $wpc->add_setting(
    \'radio_control_wpse_117203\',
    array(
      \'default\' => \'hi\',
    )
  );

  $wpc->add_section(
    \'radio_section_wpse_117203\',
    array(
      \'title\' => \'Radio WPSE 117203\',
      \'description\' => \'A holder for our radio buttons.\',
    )
  );

  $wpc->add_control(
    \'radio_control_wpse_117203\',
    array(
      \'type\' => \'radio\',
      \'label\' => \'Salutation\',
      \'section\' => \'radio_section_wpse_117203\',
      \'choices\' => array(
        \'hi\' => \'Hi\',
        \'howdy\' => \'Howdy\',
      ),
    )
  );

}
add_action(\'customize_register\',\'radio_controls_wpse_117203\');

结束

相关推荐

WordPress AJAX调用没有正确检测语言?

我有一个WordPress multisite,它是英文和法文的。在法国网站上,本地化效果很好(使用date_l18n() 日期,以及__(), 其余部分)。然而,当AJAX调用发送到WP并返回数据(从初始页面加载和AJAX调用相同的呈现函数)时,它们返回的是英文日期值。Example: 日期档案显示“2013年9月”。单击“下个月”按钮,它将发送到AJAX并返回新的月份标题和文章列表。它返回的是“2013年10月”,而不是“2013年10月”。这是一个已知的bug,还是我应该将其提交跟踪?functio