繁体   English   中英

如何防止Wordpress主题选项页保存空白字段?

[英]How to prevent Wordpress theme options page is saving blank fields?

因此,我一直在关注如何创建Wordpress主题选项页面的许多教程,并且在此过程中我已经走了很远。 实际上,我实际上已经完成了,但是保存功能中存在一个巨大的错误。

如果选项字段保留为空白,则会将空白字段保存到数据库中,因此前端的所有内容实质上都是空白。 当我在选项页面中单击“保存”时,我希望它仅更新已编辑信息的字段,如果该字段保留为空白,则会从数据库中删除数据。

这是我的保存脚本:

if ( $_GET['page'] == basename(__FILE__) ) {

    if ( 'save' == $_REQUEST['action'] ) {

        foreach ($options as $value) {
        update_option( $value['id'], $_REQUEST[ $value['id'] ] ); }

foreach ($options as $value) {
    if( isset( $_REQUEST[ $value['id'] ] ) ) { update_option( $value['id'], $_REQUEST[ $value['id'] ]  ); } else { delete_option( $value['id'] ); } }

    header("Location: admin.php?page=admin-panel.php&saved=true");
die;

} 

该脚本正在从选项数组中提取ID。 例如徽标:

array( "name" => "Logo URL",
        "desc" => "Enter the link to your logo image",
        "id" => $shortname."_logo",
        "type" => "text",
        "std" => ""),

因此,在上面的徽标示例中,如果我在“徽标URL”字段中输入内容,它将对其进行精细更新并显示在前端,但是如果将其保留为空白,然后单击“保存”,则会使用空白值更新数据库,因此前端没有任何内容,甚至没有默认值。

关于如何更新保存脚本以防止这种情况的任何想法?

对于那些可能已经看过类似教程的感兴趣的人,删除脚本的isset部分可以解决问题!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM