In meinem Plugin mache ich:
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');
Ich versuche festzustellen, ob eine von mir erstellte benutzerdefinierte Vorlage eine Seite ist. Das Verwenden oder Nicht-Verwenden von "The Loop" in meiner Vorlagenseite macht keinen Unterschied.
In edit_strain()
gibt is_page()
false zurück. Hat es etwas mit der Verwendung von get_posts
in get_user_strains()
zu tun? Ich habe gehört, ich sollte WP_Query()
verwenden, weiß aber nicht, wie ich diese get_posts()
in eine WP_Query()
umwandeln soll.
Wäre das das Problem?
Ich habe Stack Exchange durchsucht und nichts gefunden, was mein Problem gelöst hätte.
Die Aktion init
wird zu früh ausgeführt, um zu wissen, ob auf der aktuellen Seite eine Seite angezeigt werden soll. Sie müssen mindestens bis zum template_redirect
warten. Wenn Sie jedoch etwas auf die Seite drucken möchten, verwenden Sie the_content
.