WordPressのプラグイン【myCRED】の関数の使い方・利用方法

myCREDはWordPressに様々なポイント機能を簡単に追加できるプラグインです。

myCREDは基本機能だけでも十分な機能があるのですが、豊富なAdd-onやAPI、開発環境が用意されており、拡張性が非常に高いプラグインとなっています。

その拡張性を強力に高める「関数(function)」をここではご紹介します。

myCREDの関数を使えるようになると、非常に高機能なポイントサービスを提供できるようになります。

例えば、

  • 好きな場所にポイント数を表示する。
  • ポイント数に応じたイベントを実行できるようになる。
  • ポイントをフックにしてメールを配信できる。
  • etc.

Contents

myCREDにおける関数の構造

※ここは重要ではないので、興味がある人だけ読んで下さい。

myCREDの基本的な関数は”mycred\include\mycred-functions.php”に記述されています。これらはWordPressのプラグイン設定でmyCREDを有効にした時に読み込まれます。

更に”mycred\addons”以下の各Add-on毎のディレクトリ内にAdd-onに準じた関数が用意されています。これらはmyCREDの設定でAdd-onを有効にした時に読み込まれます。

つまり、Add-onを追加すると使える関数も増えます(勿論、Add-onが関数を用意している場合のみ)。

myCREDに用意されている関数

デフォルトでmyCREDには以下の関数が用意されています。
※実際はもっと多くの関数が用意されてます。

buycred_complete_pending_payment
buycred_gateway
buycred_get_pending_payment
buycred_get_pending_payment_id
buycred_get_users_pending_payments
buycred_trash_pending_payment
mycred
mycred_add
mycred_add_new_notice
mycred_add_user_meta
mycred_assign_badge
mycred_assign_badge_to_user
mycred_assign_ranks
mycred_badge_level_reached
mycred_centralize_log
mycred_content_purchase_has_expired
mycred_count_all_ref_instances
mycred_count_ref_id_instances
mycred_count_ref_instances
mycred_count_users_with_badge
mycred_count_users_without_badge
mycred_coupon_was_successfully_used
mycred_create_chart
mycred_create_new_coupon
mycred_date_to_gmt_timestamp
mycred_delete_recurring_payout
mycred_delete_user_meta
mycred_display_badge_requirements
mycred_display_users_badges
mycred_display_users_balance
mycred_display_users_total_balance
mycred_exclude_user
mycred_find_users_rank
mycred_flush_widget_cache
mycred_force_singular_session
mycred_get_account
mycred_get_badge
mycred_get_badge_ids
mycred_get_badge_references
mycred_get_content_buyers_count
mycred_get_content_price
mycred_get_content_sales_count
mycred_get_coupon
mycred_get_email_notice
mycred_get_global_coupon_count
mycred_get_module
mycred_get_my_rank
mycred_get_point_type_name
mycred_get_rank
mycred_get_rank_logo
mycred_get_rank_object_id
mycred_get_ranks
mycred_get_recurring_payout
mycred_get_recurring_payout_schedul …
mycred_get_remote
mycred_get_settings_network
mycred_get_total_by_time
mycred_get_transfer
mycred_get_unique_coupon_code
mycred_get_user_id
mycred_get_users_badges
mycred_get_users_balance
mycred_get_users_coupon_count
mycred_get_users_of_rank
mycred_get_users_profile_url
mycred_get_users_rank
mycred_get_users_rank_id
mycred_get_users_reference_sum
mycred_get_users_total_balance
mycred_get_woo_product_reward
mycred_have_ranks
mycred_is_admin
mycred_label
mycred_new_transfer
mycred_override_settings
mycred_post_is_for_sale
mycred_post_type_for_sale
mycred_query_users_total
mycred_rank_has_logo
mycred_refund_transfer
mycred_sell_content_new_purchase
mycred_sell_content_payment_buttons
mycred_sell_content_post_id
mycred_subtract
mycred_transfer
mycred_use_coupon
mycred_user_can_transfer
mycred_user_paid_for_content

基本的な関数の形式

通常のPHPの関数形式と変わりません。

関数名(引数)

となっており、基本的に値を返すようになっています。

関数の記述例

「mycred_display_users_balance」を例にとります。「mycred_display_users_balance」は、現在の「所持ポイント数」を表す関数です。

mycred_display_users_balance( 19 );
※19はユーザーID

関数の具体的な使用方法

関数は通常通り、テンプレートファイルにそのまま記述すれば良いだけです。

基本的にフックポイント等は必要ありません。

具体的な関数の記述例

テンプレートファイル内に記述するだけです。

先程の「mycred_display_users_balance」を例にとります。ヘッダー部分にユーザーが所持しているポイント数を表示する方法です。

●header.phpに記述

<p>あなたのポイント数:
<?php
$user_id = get_current_user_id();
echo mycred_display_users_balance( $user_id );
?>
pt</p>

表示内容

あなたのポイント数:100pt

上記の関数記述の解説を少ししますと、

「mycred_display_users_balance」は引数にユーザーIDが必須となる(ポイント所持者を特定するため)ので、別途ユーザーIDを導き出す「get_current_user_id」という関数を使って、ユーザーIDを$user_idに代入します。

その$user_idを引数にして「mycred_display_users_balance」を使い、echoで表示させるという感じです。

 

簡単ですね!