サポート » プラグイン » events-manager 日本語円表記へのカスタマイズ方法

  • はじめて投稿いたします。

    events-manager.5.0.51 通常版を使用して予約フォームを作成しております。
    登録から予約まで可能ですが、値段表記について「¥xxxx.xx」と$表記のように
    カンマと小数点2桁まで表示されています。

    こちらを整数表記に修正したいのですが、同プラグインをカスタマイズして使用されている方
    などいらっしゃいましたらご回答いただけませんでしょうか?

    以下は自分なりに該当プラグイン内の対象部分を検索した結果です。
    私自身ですが、htmlについてはわかりますが、phpについてはわかりません。
    単純にphp使用関数を変更するだけでも対応可能かもしれません。

    よろしくお願いいたします。

    ■表示該当箇所とおもわれる部分
    ▼ファイル名ディレクトリ
    events-manager/templates/admin/bookingform/tickets-list.php

    ▼ソースピックアップ

    code
    <?php
    /* @var $EM_Event EM_Event */
    global $allowedposttags;
    $EM_Tickets = $EM_Event->get_bookings()->get_tickets(); //already instantiated, so should be a quick retrieval.
    ?>
    <table class=”em-tickets” cellspacing=”0″ cellpadding=”0″>
    <tr>
    <th class=”em-bookings-ticket-table-type”><?php _e(”,’dbem’) ?></th>
    <?php if( !$EM_Event->is_free() ): ?>
    <th class=”em-bookings-ticket-table-price”><?php _e(‘料金’,’dbem’) ?></th>
    <?php endif; ?>
    <th class=”em-bookings-ticket-table-spaces”><?php _e(‘人数’,’dbem’) ?></th>
    </tr>
    <?php foreach( $EM_Tickets->tickets as $EM_Ticket ): /* @var $EM_Ticket EM_Ticket */ ?>
    <?php if( $EM_Ticket->is_available() || get_option(‘dbem_bookings_tickets_show_unavailable’) ): ?>
    <tr class=”em-ticket” id=”em-ticket-<?php echo $EM_Ticket->ticket_id; ?>”>
    <td class=”em-bookings-ticket-table-type”><?php echo wp_kses_data($EM_Ticket->ticket_name); ?><?php if(!empty($EM_Ticket->ticket_description)) :?>
    <span class=”ticket-desc”><?php echo wp_kses($EM_Ticket->ticket_description,$allowedposttags); ?></span><?php endif; ?></td>
    <?php if( !$EM_Event->is_free() ): ?>
    <td class=”em-bookings-ticket-table-price”><?php echo $EM_Ticket->get_price(true); ?></td>
    <?php endif; ?>
    <?php do_action(‘em_booking_form_tickets_col’, $EM_Ticket); ?>
    <td class=”em-bookings-ticket-table-spaces”>
    <?php
    $default = !empty($_REQUEST[‘em_tickets’][$EM_Ticket->ticket_id][‘spaces’]) ? $_REQUEST[‘em_tickets’][$EM_Ticket->ticket_id][‘spaces’]:0;
    $spaces_options = $EM_Ticket->get_spaces_options(true,$default);
    if( $spaces_options ){
    echo $spaces_options;
    }else{
    echo ““.__(‘N/A’,’dbem’).”“;
    }
    ?>
    </td>
    </tr>
    <?php do_action(‘em_booking_form_tickets_loop’, $EM_Ticket); ?>
    <?php endif; ?>
    <?php endforeach; ?>
    </table>
    /code

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • かなり遅い回答かもしれませんが、お役に立てれば。
    Events Managerの通貨表記、確かに日本円だとちょっと変ですよねー。小数点2ケタになってしまって。私のワークアラウンドでよろしければご紹介します。以下の通りで、うまく整数表記にできましたよ。

    –ワークアラウンド–

    記述バージョン:5.5.2

    events-manager/em-functions.php
    このファイルに、”function em_get_currency_formatted”という関数があります。

    その中の変数”$formatted_price”の値を取得するコードが、少数点2ケタでハードコーディングされてしまっているのが原因かもしれませんね。もとがハードコーディングなんで、ワークアラウンドもハードコーディングでやり返す方法にしました。

    $formatted_price = str_replace('#', number_format( $price, 2, get_option('dbem_bookings_currency_decimal_point','.'), get_option('dbem_bookings_currency_thousands_sep',',') ), $formatted_price);

    number_formatの第二引数”2″を”0″に変えると日本語の通貨表記になります。

    $formatted_price = str_replace('#', number_format( $price, 0, get_option('dbem_bookings_currency_decimal_point','.'), get_option('dbem_bookings_currency_thousands_sep',',') ), $formatted_price);

    ただまあ、あまりないかもしれませんが複数通貨を扱わなきゃいけないサイトだと、これはあまりよろしくないです。根本的には通貨設定を見て、小数点が必要かどうか判断するロジックを作らないとだめですね。

    お役にたてれば!

    MAC

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「events-manager 日本語円表記へのカスタマイズ方法」には新たに返信することはできません。