私は自分のウェブサイト上でいくつかのカスタム投稿タイプを持っています。その1つがフロントページのスライダーです。テキスト、画像、リンクを追加し、CPTを公開するとすぐにスライドとして表示されるので、うれしいです。問題は、スライドをライブにする前にプレビューする必要があるときです。投稿プレビューボタンでその特定のCPT投稿をプレビューできますが、明らかに実際のスライドが表示され、そのスライド、ギャラリー、またはアーカイブ内のスライドの外観はわかりません。
下書きをアーカイブでプレビューするための解決策を探しています。任意の助けは大歓迎です。
get_posts
のWP_Query
メソッドは、投稿が表示されるまでは大変な作業です。しかしそれが何かをする前に、あなたがフックできるpre_get_posts
と呼ばれるフックがあります。フックされた関数は現在の問い合わせオブジェクトへの参照(ポインタ)を受け取ります。だから、あなたはあなたが好きなものになるようにクエリの変数を変更することができます。
そう...
<?php
add_action( 'pre_get_posts', 'wpse33020_pre_get_posts' );
function wpse33020_pre_get_posts( $query_obj )
{
// get out of here if this is the admin area
if( is_admin() ) return;
// if this isn't an admin, bail
if( ! current_user_can( 'manage_options' ) ) return;
// if this isn't your slide post type, bail
if( ! isset( $query_obj->query_vars['post_type'] ) || 'slider' != $query_obj->query_vars['post_type'] ) return;
// change our query object to include any post status
$query_obj->query_vars['post_status'] = 'any';
}
あなたはおそらくあなたのpost_type
をslider
からあなたがスライダーCPTが命名したものに変更する必要があるでしょう。
プラグインとして: https://Gist.github.com/1343219