无论哪种方式,如果您不想每次访问页面时都在外部数据库上持续运行相同的查询,您都需要将从外部数据库检索到的数据存储在WordPress数据库中。
您可以使用自定义字段(post meta)将数据存储在WordPress数据库中,并使用以下函数add_post_meta
和update_post_meta
或通过使用Transient API 这将允许您在设置的时间段内缓存所述数据,使该数据过期并从数据库中清除,还可以选择在外部源上重新运行查询。
当然,要考虑到您的代码需要包括条件逻辑,其中指定了条件逻辑;
if no transient data exists for the given data > fetch data from external source
下面是使用中的瞬态API的一些示例代码;
<?php
// Get any existing copy of our transient data
if ( false === ( $special_query_results = get_transient( \'special_query_results\' ) ) ) {
// It wasn\'t there, so regenerate the data and save the transient
$special_query_results = new WP_Query( \'cat=5&order=random&tag=tech&post_meta_key=thumbnail\' );
set_transient( \'special_query_results\', $special_query_results );
}
// Use the data like you would have normally...
?>
在您的实例中,将对WP\\u Query的调用替换为外部数据库源。
然后,您的短代码可以是一个包装器,它允许您在逐篇文章的基础上任意插入数据,当然您也需要创建您的短代码,我想您大概知道这一点。