php - WordPress,setup_postdata 创建意外结果(跳过每秒输入)
问题描述
我在 WordPress 上使用 ACF,只是试图提取基本上是自定义博客文章以用作信息卡。该设置允许我使用自定义字段从所有博客文章的列表中选择博客文章(最多 4 个)。这是我的代码
<?php
$post_object = get_field('resource_one');
$post = $post_object;
setup_postdata( $post );
echo '<a href="' ;
echo get_the_permalink( $post_object ) ;
echo '">' ;
echo '<div class="resource-box">' ;
echo get_the_post_thumbnail( $post_object );
echo '<div id="resource-category-confirmation">' ;
echo the_field('resource_category');
echo '</div>' ;
echo '<p>' ;
echo get_the_title( $post_object );
echo '</p>' ;
echo '</div>' ;
echo '</a>' ;
$post_object = get_field('resource_two');
$post = get_field('resource_two');
setup_postdata( $post );
echo '<a href="' ;
echo get_the_permalink( $post_object ) ;
echo '">' ;
echo '<div class="resource-box">' ;
echo get_the_post_thumbnail( $post_object );
echo '<div id="resource-category-confirmation">' ;
echo the_field('resource_category');
echo '</div>' ;
echo '<p>' ;
echo get_the_title( $post_object );
echo '</p>' ;
echo '</div>' ;
echo '</a>' ?>
<?php
$post_object = get_field('resource_three');
$post = $post_object;
setup_postdata( $post );
echo '<a href="' ;
echo get_the_permalink( $post_object ) ;
echo '">' ;
echo '<div class="resource-box">' ;
echo get_the_post_thumbnail( $post_object );
echo '<div id="resource-category-confirmation">' ;
echo the_field('resource_category');
echo '</div>' ;
echo '<p>' ;
echo get_the_title( $post_object );
echo '</p>' ;
echo '</div>' ;
echo '</a>'
?>
<?php
$post_object = get_field('resource_four');
$post = $post_object;
setup_postdata( $post );
echo '<a href="' ;
echo get_the_permalink( $post_object ) ;
echo '">' ;
echo '<div class="resource-box">' ;
echo get_the_post_thumbnail( $post_object );
echo '<div id="resource-category-confirmation">' ;
echo the_field('resource_category');
echo '</div>' ;
echo '<p>' ;
echo get_the_title( $post_object );
echo '</p>' ;
echo '</div>' ;
echo '</a>' ?>
由于某种原因,第一个和第三个加载完全正常,第二个和第四个不会提取任何信息,我目前什至将它们都设置为同一个博客文章,只有第一个和第三个会加载。无论我添加多少,总是偶数不加载数据,奇数加载。我确定解决方案相当简单,我只是想念它。有人有想法么?
解决方案
解决了这个问题。我需要添加
if ( $post ) :
在顶部和
wp_reset_postdata();
endif;
在每次通话的底部。
推荐阅读
- c++ - 使用 C++ 的 Xcode XCTest 配置文件
- python - 当我尝试在 Amazon 中使用请求模块/python 进行抓取时的交付和位置问题
- json - 将 JSON 嵌入到 Swift
- android - 运行 DJI-SDK Android ImportSDKDemo 失败并显示 INSTALL_FAILED_MISSING_SHARED_LIBRARY
- jquery - 加载视图时,ASP.NET MVC 在控制台(浏览器开发工具)中抛出错误“jQuery tDatePicker 不是函数”
- r - 在整个分隔符处拆分,但不是分隔符的每个组件
- javascript - ReferenceError:在 asp.net razor 页面中进行 Ajax api 调用时未定义 $
- r - 如果我有来自该行的特定 ID,R 中是否有函数可以输出数据帧的一行中的所有值
- azure-blob-storage - Azure blob_service.list_blob() 返回空生成器
- windows - 如何使用命令提示符或批处理文件从字符串中删除某些字符?