自定义字段上的货币(价格)格式

时间:2013-01-21 作者:user1576978

我需要将管理区域(后期编辑)中的自定义字段格式化为货币,即:12.000,00,用户只需键入数字、和。自动的我四处寻找,没有成功。。任何人感谢

我试图在admin中使用的将脚本排队的代码是

function enqueue_admin() {

    wp_enqueue_script( \'jquery\' ); //adding Jquery to admin. Not sure if is needed or already there
    wp_register_script( \'autonum\', THEME_DIR . \'/js/vendor/autoNumeric.js\', array( \'jquery\' ), \'1\', false ); //this is autoNumeric for currency format
    wp_enqueue_script( \'autonum\' );

}
add_action( \'admin_enqueue_scripts\', \'enqueue_admin\' );
此外,我不确定是否需要在autoNumeric中将所有$更改为JQuery。js,因为wordpress的兼容性

4 个回复
最合适的回答,由SO网友:Simon Blackbourn 整理而成

如果您想在提交后处理该字段,php的number_format 功能是您所需要的:

$price = number_format( $number, 2, \'.\', \',\' );
但如果您想更改键入数字时的显示方式,请尝试jQuery autoNumeric

SO网友:s_ha_dum

Autonumeric是一个jQuery插件,它看起来需要编写,这样您就不必交换$.

我认为问题在于这一行:

wp_register_script( \'autonum\', THEME_DIR . \'/js/vendor/autoNumeric.js\', array( \'jquery\' ), \'1\', false ); //this is autoNumeric for currency format
问题是我不知道在哪里THEME_DIR 来自。我的测试安装中没有定义该常量。我怀疑您的脚本URL已损坏。

无论如何,即使THEME_DIR 是定义的,我只是错过了它,而不是您可能应该使用的常量get_template_directory_uri() 如果这是独立主题或父主题,或get_stylesheet_directory_uri() 如果是子主题。

SO网友:pjehan

您也可以使用WordPress功能number_format_i18n 它使用用户区域设置来设置值的格式。

echo number_format_i18n($number, 2)
另外,不要使用PHPmoney_format 函数,因为它在PHP文档中被标记为已弃用。

SO网友:bueltge

我认为更好的做法是,在价格字段中添加一个插件和一个元框。很容易过滤和格式化输出。数据库中的sore,更容易维护或为作者在字段中添加值。对于read,get output,可以使用自定义post类型的默认函数。它提供了许多关于WPSE的教程和答案。

对于格式为php 如果您使用money_format() 作用

举个例子:echo money_format(\'$%i\', 3.4); // echos \'$3.40\'

如果你想进去的话javascript, 那么看看这个WPSE thread, 非常有用。但我认为,php方式对于自定义字段(如元框)中的输出来说既快速又简单。

结束

相关推荐