サポート » プラグイン » The Event Calendarのオーバーライド階層について

10件の返信を表示中 - 1 - 10件目 (全10件中)
  • こんにちは

    WPML と My WP Translate プラグインは使用したことがないので分かりませんが、Translating WordPress よりダウンロードした、翻訳ファイル (mo) を使用すると「以降」と翻訳されました。

    テンプレートファイルは、

    子テーマ/tribe/events/v2/list/top-bar/datepicker.php

    のようです。

    ご連絡ありがとうございます。
    moファイルへの編集の仕方がイマイチわからず、The Event Calendarからもmoファイルの編集ではうまくいかなかったと連絡があって別の方法を考えていたのですが。
    >テンプレートファイルは、
    >子テーマ/tribe/events/v2/list/top-bar/datepicker.php
    は以下の内容ですが%s onwardsに関連するところがなさそうなのですが

    <?php
    /**
    * View: Top Bar – Date Picker
    *
    * Override this template in your own theme by creating a file at:
    * [your-theme]/tribe/events/v2/list/top-bar/datepicker.php
    *
    * See more documentation about our views templating system.
    *
    * @link {INSERT_ARTCILE_LINK_HERE}
    *
    * @version 5.0.1
    *
    * @var bool $is_now Whether the date selected in the datepicker is “now” or not.
    * @var bool $show_now Whether to show the “Now” label as range start or not.
    * @var string $now_label The “Now” text label.
    * @var string $now_label_mobile The “Now” text label for mobile.
    * @var bool $show_end Whether to show the end part of the range or not.
    * @var string $selected_start_datetime The selected start date and time in the localized Y-m-d format.
    * @var string $selected_start_date_mobile The formatted date that will show in the datepicker mobile version.
    * @var string $selected_start_date_label The label of the datepicker interval start.
    * @var string $selected_end_datetime The selected end date and time in the localized Y-m-d format.
    * @var string $selected_end_date_mobile The formatted date that will show in the datepicker mobile version.
    * @var string $selected_end_date_label The label of the datepicker interval end.
    * @var string $datepicker_date The datepicker selected date, in the Y-m-d format.
    */

    ?>
    <div class=”tribe-events-c-top-bar__datepicker”>
    <button
    class=”tribe-common-h3 tribe-common-h–alt tribe-events-c-top-bar__datepicker-button”
    data-js=”tribe-events-top-bar-datepicker-button”
    type=”button”
    aria-label=”<?php esc_attr_e( ‘Click to toggle datepicker’, ‘the-events-calendar’ ); ?>”
    title=”<?php esc_attr_e( ‘Click to toggle datepicker’, ‘the-events-calendar’ ); ?>”
    >
    <time
    datetime=”<?php echo esc_attr( $selected_start_datetime ); ?>”
    class=”tribe-events-c-top-bar__datepicker-time”
    >
    <?php if ( $show_now ) : ?>
    <span class=”tribe-events-c-top-bar__datepicker-mobile”>
    <?php echo esc_html( $now_label_mobile ); ?>
    </span>
    <span class=”tribe-events-c-top-bar__datepicker-desktop tribe-common-a11y-hidden”>
    <?php echo esc_html( $now_label ); ?>
    </span>
    <?php else : ?>
    <span class=”tribe-events-c-top-bar__datepicker-mobile”>
    <?php echo esc_html( $selected_start_date_mobile ); ?>
    </span>
    <span class=”tribe-events-c-top-bar__datepicker-desktop tribe-common-a11y-hidden”>
    <?php echo esc_html( $selected_start_date_label ); ?>
    </span>
    <?php endif; ?>
    </time>
    <?php if ( $show_end ) : ?>
    <span class=”tribe-events-c-top-bar__datepicker-separator”> – </span>
    <time
    datetime=”<?php echo esc_attr( $selected_end_datetime ); ?>”
    class=”tribe-events-c-top-bar__datepicker-time”
    >
    <span class=”tribe-events-c-top-bar__datepicker-mobile”>
    <?php echo esc_html( $selected_end_date_mobile ); ?>
    </span>
    <span class=”tribe-events-c-top-bar__datepicker-desktop tribe-common-a11y-hidden”>
    <?php echo esc_html( $selected_end_date_label ); ?>
    </span>
    </time>
    <?php endif; ?>
    </button>
    <label
    class=”tribe-events-c-top-bar__datepicker-label tribe-common-a11y-visual-hide”
    for=”tribe-events-top-bar-date”
    >
    <?php esc_html_e( ‘Select date.’, ‘the-events-calendar’ ); ?>
    </label>
    <input
    type=”text”
    class=”tribe-events-c-top-bar__datepicker-input tribe-common-a11y-visual-hide”
    data-js=”tribe-events-top-bar-date”
    id=”tribe-events-top-bar-date”
    name=”tribe-events-views[tribe-bar-date]”
    value=”<?php echo esc_attr( $datepicker_date ); ?>”
    tabindex=”-1″
    autocomplete=”off”
    readonly=”readonly”
    />
    <div class=”tribe-events-c-top-bar__datepicker-container” data-js=”tribe-events-top-bar-datepicker-container”></div>
    </div>

    src/Tribe/Views/V2/Views/Traits/List_Behavior.phpのオーバーライドは
    子テーマ/tribe/events/v2/Views/Traits/List_Behavior.phpで行えるということでしょうか?

    $now_label と $now_label_mobile にテキストが代入されています。
    上部のコメント欄をご覧ください。

     * @var string $now_label                  The "Now" text label.
     * @var string $now_label_mobile           The "Now" text label for mobile.

    代入しているコードは下記のようなコードです。

    $now_label = sprintf(
    // translators: the placeholder is for the date range start, e.g. "Now" or "October 23".
    	_x( '%s onwards', 'The datepicker range definition when no events are found.', 'the-events-calendar' ),
    	$onwards_label_start
    );
    
    $now_label_mobile = sprintf(
    // translators: the placeholder is for the date range start, e.g. "Now" or "1/1/2020".
    	_x( '%s onwards', 'The datepicker range definition when no events are found (for mobile).', 'the-events-calendar' ),
    	$onwards_label_start_mobile
    );

    moファイルへの編集の仕方がイマイチわからず、The Event Calendarからもmoファイルの編集ではうまくいかなかったと連絡があって別の方法を考えていたのですが。

    Translating WordPress よりダウンロードした翻訳ファイル (mo) だと、私の環境では「以降」と翻訳されるのですが・・・

    下記ページより、mo ファイルをダウンロード(ページ下部の「Machine Object Message Catalog (.mo)」を選択して「Export」をクリック)して試してみてはと思います。
    https://translate.wordpress.org/projects/wp-plugins/the-events-calendar/stable/ja/default/

    /src/Tribe/Views/V2/Views/Traits/List_Behavior.php
    にある

    $now_label = sprintf(
    // translators: the placeholder is for the date range start, e.g. “Now” or “October 23”.
    _x( ‘%s onwards’, ‘The datepicker range definition when no events are found.’, ‘the-events-calendar’ ),
    $onwards_label_start
    );

    $now_label_mobile = sprintf(
    // translators: the placeholder is for the date range start, e.g. “Now” or “1/1/2020”.
    _x( ‘%s onwards’, ‘The datepicker range definition when no events are found (for mobile).’, ‘the-events-calendar’ ),
    $onwards_label_start_mobile
    );

    を呼び出して
    /tribe/events/v2/list/top-bar/datepicker.php
    で表示させるということだと思いますが
    /src/Tribe/Views/V2/Views/Traits/List_Behavior.phpは%s onwardsのテキストを置き換えてのオーバーライドは行えないということですかね。

    $now_label と $now_label_mobile を書き換えてオーバーライドすることができます。

    例:
    <?php echo esc_html( $now_label_mobile ); ?>

    <?php echo esc_html( str_replace( 'onwards', '以降', $now_label_mobile ) ); ?>

    <?php echo esc_html( $now_label ); ?>

    <?php echo esc_html( str_replace( 'onwards', '以降', $now_label ) ); ?>

    こんにちわ。

    ありがとうございます。
    こちらのように入れてみましたが
    <?php
    /**
    * View: Top Bar – Date Picker
    *
    * Override this template in your own theme by creating a file at:
    * [your-theme]/tribe/events/v2/list/top-bar/datepicker.php
    *
    * See more documentation about our views templating system.
    *
    * @link {INSERT_ARTCILE_LINK_HERE}
    *
    * @version 5.0.1
    *
    * @var bool $is_now Whether the date selected in the datepicker is “now” or not.
    * @var bool $show_now Whether to show the “Now” label as range start or not.
    * @var string $now_label The “Now” text label.
    * @var string $now_label_mobile The “Now” text label for mobile.
    * @var bool $show_end Whether to show the end part of the range or not.
    * @var string $selected_start_datetime The selected start date and time in the localized Y-m-d format.
    * @var string $selected_start_date_mobile The formatted date that will show in the datepicker mobile version.
    * @var string $selected_start_date_label The label of the datepicker interval start.
    * @var string $selected_end_datetime The selected end date and time in the localized Y-m-d format.
    * @var string $selected_end_date_mobile The formatted date that will show in the datepicker mobile version.
    * @var string $selected_end_date_label The label of the datepicker interval end.
    * @var string $datepicker_date The datepicker selected date, in the Y-m-d format.
    */

    ?>
    <div class=”tribe-events-c-top-bar__datepicker”>
    <button
    class=”tribe-common-h3 tribe-common-h–alt tribe-events-c-top-bar__datepicker-button”
    data-js=”tribe-events-top-bar-datepicker-button”
    type=”button”
    aria-label=”<?php esc_attr_e( ‘Click to toggle datepicker’, ‘the-events-calendar’ ); ?>”
    title=”<?php esc_attr_e( ‘Click to toggle datepicker’, ‘the-events-calendar’ ); ?>”
    >
    <time
    datetime=”<?php echo esc_attr( $selected_start_datetime ); ?>”
    class=”tribe-events-c-top-bar__datepicker-time”
    >
    <?php if ( $show_now ) : ?>
    <span class=”tribe-events-c-top-bar__datepicker-mobile”>
    <?php echo esc_html( str_replace( ‘onwards’, ‘以降’, $now_label_mobile ) ); ?>
    </span>
    <span class=”tribe-events-c-top-bar__datepicker-desktop tribe-common-a11y-hidden”>
    <?php echo esc_html( str_replace( ‘onwards’, ‘以降’, $now_label ) ); ?>
    </span>
    <?php else : ?>
    <span class=”tribe-events-c-top-bar__datepicker-mobile”>
    <?php echo esc_html( $selected_start_date_mobile ); ?>
    </span>
    <span class=”tribe-events-c-top-bar__datepicker-desktop tribe-common-a11y-hidden”>
    <?php echo esc_html( $selected_start_date_label ); ?>
    </span>
    <?php endif; ?>
    </time>
    <?php if ( $show_end ) : ?>
    <span class=”tribe-events-c-top-bar__datepicker-separator”> – </span>
    <time
    datetime=”<?php echo esc_attr( $selected_end_datetime ); ?>”
    class=”tribe-events-c-top-bar__datepicker-time”
    >
    <span class=”tribe-events-c-top-bar__datepicker-mobile”>
    <?php echo esc_html( $selected_end_date_mobile ); ?>
    </span>
    <span class=”tribe-events-c-top-bar__datepicker-desktop tribe-common-a11y-hidden”>
    <?php echo esc_html( $selected_end_date_label ); ?>
    </span>
    </time>
    <?php endif; ?>
    </button>
    <label
    class=”tribe-events-c-top-bar__datepicker-label tribe-common-a11y-visual-hide”
    for=”tribe-events-top-bar-date”
    >
    <?php esc_html_e( ‘Select date.’, ‘the-events-calendar’ ); ?>
    </label>
    <input
    type=”text”
    class=”tribe-events-c-top-bar__datepicker-input tribe-common-a11y-visual-hide”
    data-js=”tribe-events-top-bar-date”
    id=”tribe-events-top-bar-date”
    name=”tribe-events-views[tribe-bar-date]”
    value=”<?php echo esc_attr( $datepicker_date ); ?>”
    tabindex=”-1″
    autocomplete=”off”
    readonly=”readonly”
    />
    <div class=”tribe-events-c-top-bar__datepicker-container” data-js=”tribe-events-top-bar-datepicker-container”></div>
    </div>

    サイト上から項目が消えてしまいました。
    https://03.naturetest.net/events/
    お手数お掛けして申し訳ありません。

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

    提示されたコードにおいては問題はないと思います。項目が消えるようなことはないと思うのですが、ちょっと分かりません。
    Translating WordPress よりダウンロードした翻訳ファイル (mo) を使用するのがいいのではないでしょうか?。

    ※ このフォーラムでコードを貼り付ける場合は、コードを選択し [code] ボタンをクリック(逆クォートで囲む)してください。詳細は、フォーラムガイドラインの「コードの投稿」セクションをご覧ください。

    ありがとうございました。

    こんにちわ。

    なんとか、moファイルをpoに変換してTranslating WordPressからダウンロードしたmoファイルのソースを使って翻訳を反映することが出来ました。

    Translating WordPressからダウンロードしたmoファイルを活かさないとうまくいきませんでした。
    ありがとうございました。

10件の返信を表示中 - 1 - 10件目 (全10件中)
  • このトピックに返信するにはログインが必要です。