在WordPress之外无法获得附件吗?

时间:2013-12-17 作者:Gaffen

我的页面(在wordpress安装之外)的开头是这样的:

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);
我这样开始循环:

<?php while (have_posts()): the_post(); ?>
在循环中,我称之为:

<?php the_post_thumbnail();?>
但什么都没有返回。

print_r(get_post(4));
(其中4是附件的id)也不返回任何内容。

使命感

<?php the_content(); ?>
回显帖子内容,减去库-库也不会被渲染,但短代码被删除。

在wordpress内部,一切正常,而在外部,附件似乎被忽略了。为什么会发生这种情况?是否有解决方法?我的查询有问题吗?

I found an alternative solution to my original problem - using a subdirectory, but I still feel this is a valid question. The original is here:

我正在使用wordpress引擎作为一个网站的CMS,由于时间限制,目前无法将其集成到wordpress中(但最终会集成到),因此我需要掌握wordpress目录之外的帖子缩略图等内容。我正在使用以下设置我的循环:

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();
然而,在索引中。php这可以工作,但在我的外部循环中不返回任何内容:

$thumb = get_post_thumbnail_id($post->ID);
echo \'<img src="\'.wp_get_attachment_url($thumb).\'" />\';
我觉得很奇怪的是

print_r(get_post($thumb)); 
返回wordpress目录中的post对象,但自定义循环中没有任何内容-它不识别附件。但是,我仍然可以使用标准的the\\u content()函数在自定义循环中打印出帖子类型的内容。

有人能说明发生了什么/我可能如何解决这个问题吗?我真的不想使用自定义元数据来复制标准功能。

1 个回复
SO网友:Rarst

如果您的旧代码有问题的话,它似乎工作得很好,这是其他原因造成的。

您的更新版本似乎后退了一步,因为您的循环是像主循环一样编写的,并且没有使用$queryObject 你设置的。

结束

相关推荐

Get 1 more post in loop

例如,在简单循环中:$loop = new wp_query(array(\'posts_per_page\' => 3)); while($loop->have_posts()) : $loop->the_post(); if(get_post_meta($post->ID, \'skip_me\', true) == true){ // do something to ask for one more post, &#x