管理者が投稿者へ個別に、お知らせできる機能を作成しています。概要としては、管理者がカスタム投稿したものを、投稿者権限の持つユーザーにそれぞれの管理画面(新しく追加したメニュー画面)に個別に一覧形式で表示されるようにしたいと思います。
投稿者権限のユーザーごとに異なる内容を表示したいので、カスタム投稿では、2つのメタキーを使用していますが、その一つは、投稿を表示したい投稿者権限のユーザーid指定と、もう一つは、任意の項目です。投稿機能自体は、確認しましたが、メタキーもデータベースに保存されているので問題なく動きます。ただ、それらを投稿者権限のユーザーの各画面で表示する際に、表示されないのが問題です。表示部分のコードは下記のように書きました。
<?php $user = wp_get_current_user(); $args = array( 'author' => 1, //管理者のID 'post_type' => 'document', 'post_status' => 'publish', 'posts_per_page' => -1, 'order' => 'DESC', 'meta_query' => array( 'relation' => 'AND', array( 'key' => 'name', //ユーザー 'value' => $user->get('ID'), //投稿者のID ), array( 'key' => 'document', //任意のkey 'value' => 2 //任意のvalue ) ) ); ?> <?php $the_query = new WP_Query($args); if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?> <h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1> <!-- 内容--> <?php endwhile; ?> <?php endif; wp_reset_query(); ?>
この表示に関しては、投稿者権限のユーザーが自ら投稿した場合は、ユーザーの管理画面の追加したメニュー画面に表示されるのですが、なぜか管理者が投稿した場合は、表示されません。WP_Queryのパラメータの指定では、'author' => 1, で指定していますので、本来なら、管理者の投稿だけの投稿が表示されないと駄目なのですが、この原因がわかりません('author_name' = 'admin' でも無理でした)。もしわかりましたら、教えてください。よろしくお願いします。(補足ですが、この機能の実装箇所は、マルチサイトの子サイトです。ここでいう管理者は、マルチサイトの特権管理者になります。)
回答1件
あなたの回答
tips
プレビュー