这种类型的作品,但它是输出一个职位的标题,特别是对所有的图片上的页面。有没有想过为什么它不会动态地拾取每个与帖子标题相关的图像?
$attachments = get_posts( $args );
foreach ( $attachments as $image ) {
// Get the parent post ID
$parent_id = $image->post_parent;
// Get the parent post Title
$parent_title = get_the_title( $parent_id );
// Get the parent post permalink
$parent_permalink = get_permalink( $parent_id );
}
此代码在每个图像上循环。让我们手动调试它。
作为示例,假设有3个图像。
第一幅图像的父ID为1,标题为“Foo”,链接到该帖子,
第二幅图像的父ID为2,标题为“Bar”,链接到该帖子,
第三幅图像的父ID为3,标题为“Baz”,链接到该帖子,
因此,第一次通过循环:
$parent_id
设置为1
,
$parent_title
设置为Foo
,
$parent_permalink
设置为the link to Foo
.
第二次通过循环:
$parent_id
设置为2
,
$parent_title
设置为Bar
,
$parent_permalink
设置为the link to Bar
.
贴子“Foo”的所有数据都会被贴子“Bar”的数据覆盖。为什么?因为在将新数据写入之前,代码不会保存其他数据$parent_id
, $parent_title
和$parent_permalink
.
在通过回路的第三次跳闸时:
$parent_id
设置为3
,
$parent_title
设置为Baz
,
$parent_permalink
设置为the link to Baz
.
贴子“Baz”的数据覆盖了贴子“Bar”的所有数据。
完成此循环后$parent_id
, $parent_title
和$parent_permalink
变量只保存$attachments
大堆因此,之所以只使用最后一个父帖子,是因为代码告诉PHP要这样做。代码说,“扔掉那些其他值。”
您可能想做的事情如下:
$images = get_posts( $args );
if ( $images ) {
foreach ( $images as $image ) {
// Get the parent post ID
$parent_id = $image->post_parent;
// Get the parent post Title
$parent_title = get_the_title( $parent_id );
// Get the parent post permalink
$parent_permalink = get_permalink( $parent_id );
$logoimg = wp_get_attachment_image( $image->ID, \'Work Gallery\' );