从Metabox数字中去掉十进制

时间:2017-05-13 作者:Kristin P

我正在Wordpress网站上为一位客户展示几个房产清单及其相关价格。当我在开发人员创建的元数据库中输入数字时,它会去掉所有的小数。因此,如果我输入16.50,当页面保存时,它会立即变为1650。我希望它能显示2个小数。我做了一些研究,但我对PHP/Wordpress的知识还不够渊博,无法理解。开发人员指示我调整代码的格式,但只需在数字上添加2个小数,以显示1650.00,而不是我想要的16.50。在元数据库中输入小数点后,它会立即被删除。我觉得好像在某个地方定义了某种东西,从这个输入字段中去掉了所有的小数,但我不知道如何抵消它。

以下是后端发生的情况:

https://cl.ly/2u341p2g0i3p

我对PHP的知识非常有限,所以如果您有什么想法,请尽可能简单和规范地解释。

****编辑****

以下是我为update\\u post\\u meta找到的代码:

if($post_id) {

            // Update Custom Meta
            update_post_meta($post_id, \'_ct_listing_alt_title\', esc_attr(strip_tags($_POST[\'customMetaAltTitle\'])));
            update_post_meta($post_id, \'_ct_price\', esc_attr(strip_tags($_POST[\'customMetaPrice\'])));
            update_post_meta($post_id, \'_ct_price_prefix\', esc_attr(strip_tags($_POST[\'customMetaPricePrefix\'])));
            update_post_meta($post_id, \'_ct_price_postfix\', esc_attr(strip_tags($_POST[\'customMetaPricePostfix\'])));
            update_post_meta($post_id, \'_ct_sqft\', esc_attr(strip_tags($_POST[\'customMetaSqFt\'])));
            update_post_meta($post_id, \'_ct_video\', esc_attr(strip_tags($_POST[\'customMetaVideoURL\'])));
            update_post_meta($post_id, \'_ct_mls\', esc_attr(strip_tags($_POST[\'customMetaMLS\'])));
            update_post_meta($post_id, \'_ct_rental_guests\', esc_attr(strip_tags($_POST[\'customMetaMaxGuests\'])));
            update_post_meta($post_id, \'_ct_rental_min_stay\', esc_attr(strip_tags($_POST[\'customMetaMinStay\'])));
            update_post_meta($post_id, \'_ct_rental_checkin\', esc_attr(strip_tags($_POST[\'customMetaCheckIn\'])));
            update_post_meta($post_id, \'_ct_rental_checkout\', esc_attr(strip_tags($_POST[\'customMetaCheckOut\'])));
            update_post_meta($post_id, \'_ct_rental_extra_people\', esc_attr(strip_tags($_POST[\'customMetaExtraPerson\'])));
            update_post_meta($post_id, \'_ct_rental_cleaning\', esc_attr(strip_tags($_POST[\'customMetaCleaningFee\'])));
            update_post_meta($post_id, \'_ct_rental_cancellation\', esc_attr(strip_tags($_POST[\'customMetaCancellationFee\'])));
            update_post_meta($post_id, \'_ct_rental_deposit\', esc_attr(strip_tags($_POST[\'customMetaSecurityDeposit\'])));

            //Update Custom Taxonomies
            wp_set_post_terms($post_id,array($_POST[\'ct_property_type\']),\'property_type\',true);
            wp_set_post_terms($post_id,array($_POST[\'customTaxBeds\']),\'beds\',true);
            wp_set_post_terms($post_id,array($_POST[\'customTaxBaths\']),\'baths\',true);
            wp_set_post_terms($post_id,array($_POST[\'ct_ct_status\']),\'ct_status\',true);
            wp_set_post_terms($post_id,array($_POST[\'customTaxCity\']),\'city\',true);
            wp_set_post_terms($post_id,array($_POST[\'customTaxState\']),\'state\',true);
            wp_set_post_terms($post_id,array($_POST[\'customTaxZip\']),\'zipcode\',true);
            wp_set_post_terms($post_id,array($_POST[\'customTaxFeat\']),\'additional_features\',true);

            // Redirect
            wp_redirect( home_url() . \'/?page_id=\' . $view ); exit;
        }

1 个回复
SO网友:Jay the Geek

所以你想做这样的事。。。

$price = number_format($price_meta, 2);
echo $price;
这里重要的部分是2,它将在后面加上2个零。如果你不想让它显示零,你可以将其设置为0-当它为你完成时,不需要添加点什么,也不需要添加你自己!

希望有帮助:)

*****更新*****

因此,在您更新代码以显示更新的位置/方式之后,很遗憾,它并没有变得更加清晰。我同意@Mark的观点,在这一过程中有很多事情可能会导致这种情况。

您还删除了第一段没有太大帮助的代码:/

从这一点来看,再加上您添加的内容,我将从删除这个开始;

$price_meta= preg_replace(\'/[\\$,]/\', \'\', $price_meta);
通过使用的外观,您正在正确更新;

update_post_meta($post_id, \'_ct_price\', esc_attr(strip_tags($_POST[\'customMetaPrice\'])));
你应该像我上面所说的那样回应它;

$price = number_format($price_meta, 2);
echo $price;
我刚刚对此进行了测试,它运行得非常好,我也在自己的系统上使用AJAX进行测试,它也可以非常好地运行。

在此处检查-https://cl.ly/0u2v2P1a112t

没有更多的细节,就很难调试。

结束

相关推荐

JQuery UI可排序不能与Metabox一起使用

我在这方面遇到了很多麻烦-我的ul-li不会去任何地方。我已经看过了这本书的大部分“副本”,但我一辈子都无法让它发挥作用。而且我的代码可能不是最好的,所以请随意评论/回答(只要答案也是实际的答案)更好的做事方式。脚本注册:function add_admin_scripts( $hook ) { global $post; wp_register_script( \'sectioned_page_script\', get_stylesheet_directory_uri