私のプラグインで私がやっている:
function get_user_strains()
{
$userID = get_current_user_id();
$args = array(
'post_type' => 'strain',
'orderby' => 'post_date',
'order' => 'DESC',
'post_status' => 'publish',
);
$strains = get_posts($args);
global $userStrains;
$userStrains = array();
foreach($strains as $i)
{
$meta = get_post_meta($i->ID);
//var_dump($meta);
if($i->post_author == $userID)
{
$i->type = $meta['type'][0];
$i->rating = $meta['rating'][0];
//var_dump($i);
array_Push($userStrains, $i);
}
}
//var_dump($userStrains);
$userStrainsJson = json_encode($userStrains);
//var_dump($userStrains);
wp_reset_query();
}
add_action('init','get_user_strains');
function edit_strain()
{
if(is_page()) echo "IS A PAGE";
$id = isset($_GET['id']) ? $_GET['id'] : 'no id set';
global $editStrainData;
$editStrainData = get_post($id);
global $editStrainMeta;
$editStrainMeta = get_post_meta($id);
wp_reset_query();
}
add_action('init','edit_strain');
作成したカスタムテンプレートがページかどうかを判断しようとしています。私のテンプレートページで "The Loop"を使用しても使用しなくても違いはありません。
edit_strain()
ではis_page()
はfalseを返しています。 get_user_strains()
でget_posts
を使って私と関係があるのでしょうか。私はWP_Query()
を使うべきだと聞きましたが、そのget_posts()
をWP_Query()
に変換する方法が本当にわかりません。
これは問題でしょうか。
Stack Exchangeを検索しましたが、問題を解決するものが見つかりませんでした。
現在のページにページを表示する必要があるかどうかを知るにはアクションinit
が早すぎます。少なくともtemplate_redirect
まで待つ必要があります。しかし、ページに何か印刷したい場合は、the_content
を使用してください。