我不得不这么做,我想找一件非常简单的事情:只需在某个帖子中添加一个日期事件,将其显示在我的新闻档案中(它可以是开始日期,也可以是结束日期)。
您需要通过在帖子屏幕中添加一个元框,使用ACF插件轻松地为帖子添加自定义字段,或者自己在主题函数中对其进行编码。php或自制插件。。。
例如\\u my\\u evt\\u date,您将在Posteta表中找到它作为meta\\u键,其meta\\u值类似于2020-12-24字符串。
其想法是在该表中进行查询,以将每个具有此类元键的帖子存储在一个数组中,您可以创建一个带有post\\u id、date、html的json多数组来显示。。。
在显示新闻帖子缩略图的归档页面中,查看循环中每篇文章的html代码,您可能会有一个包含帖子id的css类,可能类似于;入职后-3217“"E;入职后-3218“;。。。。
这是我的情况,但使用高级模板,我决定将javascript与jQuery结合使用,以:
用jQuery调用我的数据库查询。在js数组中加载带有日期信息的my php数组,解析与css类post entry xxxx匹配的文章块,提取post id xxxx,创建循环并解析js数组,直到与jQuery匹配相关post\\u id。在相关缩略图上方附加一些带有日期信息的html:
jQuery(document).ready(function()
{
// only in the archive page
if( jQuery(\'.slide-entry\').length )
{
jQuery.get({
url:\'mywebsite-uri/wp-content/themes/my-child-theme/my-script.php\',
success: function(data)
{
// Load in an array results
ckc_yaevt = jQuery.parseJSON(data);
jQuery(\'.slide-entry\').each(function()
{
// Extract xxxx from each slide-entry-xxxx
var post_id = jQuery(this).attr(\'class\').match(/\\d+/);
// Parse array with posts having dates
for (var i=0; i<ckc_yaevt.length; i++)
{
if ( ckc_yaevt[i][0] === post_id[0] && ckc_yaevt[i][1] !== \'\' )
{
// Add html in the loop
jQuery(\'.slide-image\',this).append(ckc_yaevt[i][1]);
break;
}
}
})
}
})
}
})
结果: