フロントエンドにいくつかのポッドアイテムをリストしたいと思います。これを行うために、私は通常pods
ショートコードを使用しています。データをフィルタリングするには、where
ポッドのショートコード内の属性を使用します。例えば:
[pods name="salon" where="author.ID = '2'"]
<li>{@name}</li>
[/pods]
ポッドアイテムをでフィルタリングしたいauthor.ID
。ユーザーは、自分で作成したポッドアイテムを確認する必要があります。ワードプレスAPIで現在のユーザーにアクセスすることが可能
global $current_user;
です。また、ポッドのマジックタグを使用して取得することもできます{@user.ID}
。
しかし、問題は、次のようなショートコード内でphpコードやマジックタグを使用できないことです。
[pods name="salon" where="author.ID = '{@user.ID}'"]
私はこの問題を克服する方法を探しています。
現在のユーザーのIDを取得して、次のようなショートコード関数を呼び出すことができる新しいショートコード関数を作成できるのではないかと思いましたpods
。
function pods_by_current_user($atts) {
$current_user = wp_get_current_user();
$user_id = $current_user->ID;
// put it into 'where' attribute and delegate to the "pods" function
これがこの問題を解決する正しい方法だと思いますか?そして、残りを実際のショートコード関数に$user_id
入れて委任する方法を知っていますか?$atts
pods