以下是我创建设置页面输出的方式:
public function create_settings_page() {
$this->options = $this->lal_get_settings();
?>
<div class="wrap">
<h1>My plugin name</h1>
<form method="post" action="options.php">
<?php
// Output nonce, action, and option_page fields for a settings page.
settings_fields( \'lal_settingz\' );
do_settings_sections( $this->settings_page_name );
submit_button();
?>
</form>
</div>
<?php
}
所有我的设置都显示在
tr 标签,
th 正在设置说明和
td 设置自身。我想操纵整个
tr, 例如应用
display: none 如果其他设置具有特定值,请将其包装
tr 具有
div 对这个做同样的事情
div 要素
使用jQuery,我可以访问tr 作为我的设置元素的父元素的父元素,如下所示:
jQuery(document).ready(function($) {
$(\'#lal_display_type\').change(function() {
if (this.value === \'icon\') {
$(\'#lal_login_text\').parents().eq(1).hide();
} else if (this.value === \'links\') {
$(\'#lal_login_text\').parents().eq(1).show();
}
});
});
但是,我想使用PHP
style="display: none" 对于初始显示,使用jQuery解决方案避免页面加载时出现任何闪烁,但我看不到任何访问上述内容的方法
tr. 我应该更换吗
do_settings_sections 用某种自定义方式提供我的设置输出?
最合适的回答,由SO网友:Sally CJ 整理而成
似乎无法修改<tr> 标记,但要使其在默认情况下隐藏(或最初隐藏),则可以使用传递给的第六个参数add_settings_field(), 这是$args:
add_settings_field(
\'my_field\', // ID
\'My Field\', // Title
\'my_field_callback\', // Callback
\'my-setting-admin\', // Page/slug
\'setting_section_id\', // Section
array( \'class\' => \'hidden\' )
);
如您所见,我们设置
tr\'s
class 到
hidden 适用于
display: none 到
tr 要素(
hidden 中的现有CSS规则
wp-admin/css/common.css 加载到WordPress管理页面)。