如何获取特定帖子id的自定义图像字段

时间:2012-12-19 作者:ByteMyPixel

我有一个页面,我从循环之外的另一篇文章中提取内容。

我已成功获取指定帖子的内容,但无法从自定义字段(高级自定义图像字段)获取图像。

这是为了从帖子中获取内容,帖子的ID是299:

$my_id = 299;
$post_id_299 = get_post($my_id);

$content_299 = $post_id_299->post_content;
$content_299 = apply_filters(\'the_content\', $content_299);
$content_299 = str_replace(\']]>\', \']]>\', $content_299);
$content_299_chars = 238; 
$modcontent_299 = substr($content_299, 0, $content_299_chars);

<p><?php echo $modcontent_299; ?></p>

这是我想要从帖子中获得的图像,其ID为299(如果存在):

$attachment_id = get_field(\'image\', 299);
$size = \'full\';
$image = wp_get_attachment_image_src( $attachment_id, $size ); 

if( get_field(\'image\') ):
   echo \'<img src="\' . $image[0] . \'" alt="\' . the_title() .\'" width="238" height="158" />\';
endif; 
我确信我需要更改其中一些变量,以从特定的帖子id获取图像字段,这与获取内容的方式类似,但我对如何为自定义字段执行此操作感到困惑。。。

2 个回复
最合适的回答,由SO网友:Milo 整理而成

有关详细信息,请参阅文档get_field. 改变:

$attachment_id = get_field(\'image\');
要将post ID作为第二个参数传递,请执行以下操作:

$attachment_id = get_field(\'image\', 299);
或:

$attachment_id = get_field(\'image\', $my_id);

SO网友:Rameez SOOMRO

我认为您可以使用代码在帖子图像上显示标题和alt,然后再试一次。

    $post_title  = get_the_title($my_id);

    echo get_the_post_thumbnail($my_id,
        \'full\', 
        array(
            \'alt\'   => $post_title, 
            \'title\' => $post_title,
            \'class\' => \'my_post_img_class\'
        )
    );
它会回声

<img src="your_image_path.jpg" alt="post_title" title="post_title" class="my_post_img_class" />
或者使用以下函数获取自定义帖子字段get_post_field(\'post_content\', $my_id);

结束

相关推荐

Some images 404

我将我们的旧博客迁移到主根目录中的同一服务器。出于某种原因,即使在/uploads/folder中,也不会再加载一些图像。当以URL的形式访问它们时,我得到了404,但我可以直接从FTP(和工作)下载它们。有人知道问题出在哪里吗?我在想我的。htaccess文件,但我不确定这是问题所在:<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\\.php$ - [L] R

如何获取特定帖子id的自定义图像字段 - 小码农CODE - 行之有效找到问题解决它

如何获取特定帖子id的自定义图像字段

时间:2012-12-19 作者:ByteMyPixel

我有一个页面,我从循环之外的另一篇文章中提取内容。

我已成功获取指定帖子的内容,但无法从自定义字段(高级自定义图像字段)获取图像。

这是为了从帖子中获取内容,帖子的ID是299:

$my_id = 299;
$post_id_299 = get_post($my_id);

$content_299 = $post_id_299->post_content;
$content_299 = apply_filters(\'the_content\', $content_299);
$content_299 = str_replace(\']]>\', \']]>\', $content_299);
$content_299_chars = 238; 
$modcontent_299 = substr($content_299, 0, $content_299_chars);

<p><?php echo $modcontent_299; ?></p>

这是我想要从帖子中获得的图像,其ID为299(如果存在):

$attachment_id = get_field(\'image\', 299);
$size = \'full\';
$image = wp_get_attachment_image_src( $attachment_id, $size ); 

if( get_field(\'image\') ):
   echo \'<img src="\' . $image[0] . \'" alt="\' . the_title() .\'" width="238" height="158" />\';
endif; 
我确信我需要更改其中一些变量,以从特定的帖子id获取图像字段,这与获取内容的方式类似,但我对如何为自定义字段执行此操作感到困惑。。。

2 个回复
最合适的回答,由SO网友:Milo 整理而成

有关详细信息,请参阅文档get_field. 改变:

$attachment_id = get_field(\'image\');
要将post ID作为第二个参数传递,请执行以下操作:

$attachment_id = get_field(\'image\', 299);
或:

$attachment_id = get_field(\'image\', $my_id);

SO网友:Rameez SOOMRO

我认为您可以使用代码在帖子图像上显示标题和alt,然后再试一次。

    $post_title  = get_the_title($my_id);

    echo get_the_post_thumbnail($my_id,
        \'full\', 
        array(
            \'alt\'   => $post_title, 
            \'title\' => $post_title,
            \'class\' => \'my_post_img_class\'
        )
    );
它会回声

<img src="your_image_path.jpg" alt="post_title" title="post_title" class="my_post_img_class" />
或者使用以下函数获取自定义帖子字段get_post_field(\'post_content\', $my_id);

相关推荐

将Pemalink结构更改为/%post_id%/%postname%/

我当前正在使用permalink结构:/%年%/%月%/%日%/%postname%/我想将其更改为:/%post\\u id%/%postname%/我希望是:更快(数据库按post\\u id排序?)较短的URL(以及清晰可见的短文,只需去掉%postname%/即可)对搜索引擎优化更加友好-因为我的内容是“常青树”,所以发布日期不相关(并且写在每篇文章上,以及最后的更新日期)-因此这将提供较短的URL,与使用年/月/日结构相比没有任何缺点</问题:WordPress是否自动处理所有301重定向