Ma page (en dehors de l'installation de wordpress) commence comme ceci:
global $wpdb, $wp_query;
define('WP_USE_THEMES', false);
include_once 'Word/wp-blog-header.php';
$args = array(
'posts_per_page' => 10,
'post_type' => 'post'
);
$queryObject = new WP_Query($args);
Je commence la boucle comme suit:
<?php while (have_posts()): the_post(); ?>
Dans la boucle j'appelle ça:
<?php the_post_thumbnail();?>
Mais rien n'est retourné.
print_r(get_post(4));
(Où 4 est l'identifiant d'une pièce jointe) ne renvoie également rien.
Appel
<?php the_content(); ?>
renvoie le contenu de la publication, moins la galerie - ce qui n’est pas rendu non plus, mais le shortcode est supprimé.
Dans wordpress, tout fonctionne bien, à l'extérieur, il semble que les pièces jointes soient simplement ignorées. Pourquoi cela arrive-t-il? Y at-il un travail autour? Y a-t-il un problème avec ma requête?
.
.
.
J'ai trouvé une solution alternative à mon problème initial - en utilisant un sous-répertoire, mais je pense toujours que c'est une question valide. L'original est ici:
J'utilise le moteur wordpress en tant que système de gestion de contenu pour un site Web qui ne peut pas être intégré pour le moment à cause de contraintes de temps (mais le sera éventuellement). J'ai donc besoin de choses comme poster des vignettes en dehors du répertoire wordpress. . J'utilise les éléments suivants pour configurer ma boucle:
global $wpdb, $wp_query;
define('WP_USE_THEMES', false);
include_once 'Word/wp-blog-header.php';
$args = array(
'posts_per_page' => 10,
'post_type' => 'leather_swatch'
);
$loop = new WP_Query($args);
if ($loop->have_posts()) : while ($loop->have_posts()) : $loop->the_post();
Cependant, dans index.php cela fonctionne, mais ne renvoie rien dans ma boucle externe:
$thumb = get_post_thumbnail_id($post->ID);
echo '<img src="'.wp_get_attachment_url($thumb).'" />';
Ce que je trouve vraiment étrange, c'est que
print_r(get_post($thumb));
retourne un objet post dans le répertoire wordpress, mais rien dans ma boucle personnalisée - il ne reconnaît pas les pièces jointes. Cependant, je peux toujours imprimer le contenu de mon type de message dans la boucle personnalisée à l'aide de la fonction standard the_content ().
Quelqu'un peut-il éclairer ce qui se passe/comment je pourrais résoudre ce problème? Je ne souhaite pas vraiment utiliser des métadonnées personnalisées pour répliquer les fonctionnalités standard.
Votre ancien code semble bien fonctionner, s'il posait problème - quelque chose d'autre le causait.
Votre version mise à jour semble prendre du recul car votre boucle est écrite comme une boucle principale et n'utilise pas $queryObject
que vous avez configuré.