这很难,但我认为这会奏效。如果我错了,请有人纠正我。
这将使用内置于WordPress中的外部简单饼图库来获取提要、获取图像url并为每个项目创建新帖子,并将图像url保存为自定义字段。
要激活该进程,我们必须连接到wp\\u cron。下面的代码每天都这样做,但最好每周都这样做,以防止重叠。可能会发生一些重叠,因此仍需要一种方法来检查是否已导入图像
首先,我们需要一个函数来在创建帖子后保存自定义字段。本节来自another answer I found on WordPress Answers.
编辑:
这需要包装在插件中以计划cron事件,而cron事件缺少使其启动的操作。
编辑:#2:
我测试了插件并进行了一些编辑,它完全可以工作,除了我们获取的RSS提要包含相对URL,因此在代码中,滑块代码需要回显域名,然后是自定义字段:即:
\'<img src="http://animelon.com<?php get_post_meta($post->ID, \'feed_image_url\', true); ?>" />
<?php
/*
Plugin Name: Fetch The Feed Image
Version: 0.1
Plugin URI: http://c3mdigital.com
Description: Sample plugin code to fetch feed image from rss and save it in a post
Author: Chris Olbekson
Author URI: http://c3mdigital.com
License: Unlicense For more information, please refer to <http://unlicense.org/>
*/
//Register the cron event on plugin activation and remove it on deactivation
register_activation_hook(__FILE__, \'c3m_activation_hook\');
register_deactivation_hook(__FILE__, \'c3m_deactivation_hook\');
add_action( \'c3m_scheduled_event\', \'create_rss_feed_image_post\');
function c3m_activation_hook() {
wp_schedule_event(time(), \'weekly\', \'c3m_scheduled_event\');
}
function c3m_deactivation_hook() {
wp_clear_scheduled_hook(\'c3m_scheduled_event\');
}
function create_rss_feed_image_post() {
if(function_exists(\'fetch_feed\')) {
include_once(ABSPATH . WPINC . \'/feed.php\'); // include the required file
$feed = fetch_feed(\'http://animelon.com/booru/rss/images\'); // specify the source feed
}
foreach ($feed->get_items() as $item) :
// global $user_ID;
$new_post = array(
\'post_title\' => $item->get_title(),
\'post_status\' => \'published\',
\'post_date\' => date(\'Y-m-d H:i:s\'),
//\'post_author\' => $user_ID,
\'post_type\' => \'post\',
\'post_category\' => array(0)
);
$post_id = wp_insert_post($new_post);
if ($enclosure = $item->get_enclosure() )
update_post_meta( $post_id, \'feed_image_url\', $enclosure->get_link() );
endforeach;
}
新增帖子截图:
创建的自定义字段的屏幕截图: