だから私は関連するカスタム分類法(ディレクトリ)を持つカスタム投稿タイプ(人)を持っています。個人を編集してから関連するディレクトリ組織を選択するのではなく、ディレクトリ組織を「編集」してそれに属する人々を選択したいのです。誰でもこれを可能にするプラグインを知っていますか?
私はこれを行うためのインターフェースを備えた私自身のプラグインを構築することができます - ここで意見を探してください。次のようなことをすることを考えています。
<?php
//Get all directory orgs
$orgs = get_terms("directory");
$count = count($orgs);
$orgtermids = array();
$peopleByOrg = array();
if ( $count > 0 ){
foreach ( $orgs as $org ) {
$orgtermids[] = $org->term_id; //Build array of term_ids
$peopleByOrg[$org->term_id] = array(); //Build an empty array() for each term_id
}
}
//Get all people currently associated with a directory org
$myquery['tax_query'] = array(
array(
'taxonomy' => 'directory',
'terms' => $orgtermids,
'field' => 'term_id',
)
);
query_posts($myquery);
if (have_posts()) : while (have_posts()) : the_post();
$postOrgs = get_the_terms($post->ID, 'directory'); //Get directory orgs for this person
if ( $postOrgs && ! is_wp_error( $postOrgs ) ) {
foreach ( $postOrgs as $postOrg ) {
$peopleByOrg[$postOrg->term_id][$post->ID] = $post; //Store person info with each org it belongs to
}
}
endwhile;
endif;
//Step through and create interface to choose additional people for each directory org
//code TBD
?>
何かアイデアや意見は?
WalkerクラスをWalker_Categoryに基づく新しいクラスで拡張することによってこれを実行するためのより良い方法を考えてください。リストとして表示するのではなく、ディレクトリ組織に人を割り当てることができるフォームを作成するには、これを変更する必要があります(ディレクトリ組織は階層的です)。
"Featured Post Manager"プラグインはあなたが探しているものに近いものになると思います。
http://wordpress.org/extend/plugins/featured-post-manager/screenshots/
使用されている言語はやや紛らわしく、カスタム分類法(ディレクトリ)やカスタムタイプ(人)には機能しないかもしれませんが、おそらく言語を更新するだけでなく、コードを使用してそれを変更することもできます。ページで使用されています。
ほとんどが単一のPHPファイルなので、コードを見るだけでいいです( http://plugins.trac.wordpress.org/browser/featured- post-manager/trunk/fpmngr.php ) "category"から "directory"へ、そして "post"から "person/people"へといくつか変更します(108行目)。 )など.
私はあなたの質問がここで正しく理解されていることを願っています。しかし、私が理解できることから、分類編集画面でカスタム投稿タイプをいくつでも選択する方法が欲しいと思います。
Elliot Condonによる Advanced Custom Fieldsプラグイン を見てみるとよいでしょう。プラグインはあなたが探しているものだけかもしれない 'Relationship'フィールドタイプを特徴としています。 [関係]フィールドでは、用語に関連付ける投稿をいくつでも選択できます。必要に応じて、単一のフィールドまたはカスタムフィールドのグループを(編集後のページではなく)特定の分類法に適用できます。