私は音声ウェブサイトを持っています、そして私はユーザーが投稿からカスタムプレイリストを作ることを許可したいです。
トラックを含むアルバムとして投稿を使用しています。カスタム投稿タイプを作成し、それを使用してデフォルトの投稿に基づいてユーザー選択プレイリストを保持することを考えました。
これは良い考えですか、それともユーザーがカスタムプレイリストを作成できるようにするより良い方法がありますか。
ノート:
custom_audio{ audio=>"name", url=>"www.text.com"}
に格納されます。探しているものは、カスタム投稿タイプと投稿タイプの間の関係を作成することです。
あなたのユーザーがCPTの編集機能を持っているなら、はい、それはアルバム(通常の投稿)についての情報を保持するためにCPTを使うのは良い考えです。
最も簡単で速い方法はプラグインを使うことです。
投稿から投稿 これだけを目的としています(私の強調)。
このプラグインを使用すると、投稿、ページ、カスタムなど、あらゆる種類の投稿間で多対多の関係を作成できます。
- 関連投稿の手動キュレーションリスト
- ポストシリーズ
- 小売業者に接続された製品
- 等.
さらに、投稿とユーザーの間に多対多の関係を作成できます。だから、あなたも実装することができます:
- ユーザーのお気に入りの投稿
- 投稿ごとに複数の作者
- 等.
そしてもう一つは Advanced Custom Fields です。私は一般ユーザーなので、この場合の使用方法を説明できます。
次の設定でフィールドグループを作成します。
そのは次のようになります。
結果のスナップショットには少しトリックがあります。 ACFが生成する通常の箱は非常に短い高さを持っています。
ボックスの高さを変更するには、テーマのfunctions.php
ファイルで次のコードを使用するか、このテーマを独立させる カスタムプラグイン を使用します。
/**
* ADJUST THE VALUE OF 'playlists' TO THE CUSTOM POST TYPE SLUG
* ADJUST THE VALUE OF #acf-album_posts TO MATCH THE FIELD NAME
*/
add_action('admin_head-post.php', 'wpse_73351_admin_head');
add_action('admin_head-post-new.php', 'wpse_73351_admin_head');
function wpse_73351_admin_head()
{
global $post;
// Not our post_type, do nothing
if ( 'playlists' != $post->post_type )
return;
?>
<style>
#acf-album_posts select {
height: 400px !important;
}
</style>
<?php
}
最後に、 プラグインのドキュメント を読んでalbum_posts
フィールドの値を取得し、そのファンキーな音楽を再生する方法を確認してください:)