我正在使用Titan Framework和我编写的自定义插件。有一个设置页面,其中有一个选项卡,其上有一个文本字段:
array(
'name' => 'Slug',
'id' => 'my_slug',
'type' => 'text',
'default' => 'my-slug',
'desc' => 'The slug.',
),
此文本字段允许用户为插件的前端UI指定slug。问题是用户可以将此字段清除为空,然后保存导致错误的设置。
我知道当使用此设置选项时,我可以在PHP代码中捕获此条件。我也理解这可以使用jQuery来强制执行指定的值,但看起来应该有一个最佳实践解决方案。
有人能告诉我确保此字段有值的正确方法吗?
答案 0 :(得分:1)
用户绝对可以将其保存为空,是的,您可以使用JS来防止它。但是因为没有"预先保存"过滤器,解决这个问题的一种方法是对你提到的方法,在字段中添加placeholder
属性,以便在空时给出一个值的错觉(这只是为了获得更好的用户体验)。
array(
'name' => 'Slug',
'id' => 'my_slug',
'type' => 'text',
'default' => 'my-slug',
'desc' => 'The slug.',
'placeholder' => 'post',
),
然后在获取值时检查empty
。
$slug = $titan->getOption( 'my_slug' );
if ( empty( $slug ) ) {
$slug = 'post';
}