【问题标题】:The url from an image via custom field (wordpress)通过自定义字段(wordpress)来自图像的 url
【发布时间】:2011-04-26 20:19:26
【问题描述】:

我什至不确定这是否可以做到,但是......

我已经从我的论坛向 wordpress 添加了一个提要,它效果很好,但我需要它从帖子(提要)中的图像中自动将图像的 URL 添加到自定义字段中,第一张图像就可以了,因为它唯一的 ahve滑块

有什么办法吗?

详情

好吧,我想我没有很好地解释这一点,所以做了一些屏幕截图

这是我现在的滑块

这是我正在使用的另一个提要的导入帖子

在这张图片上,您可以看到自定义字段(每次导入后我都必须填写)

将图片网址添加到自定义字段中

最后是滑块工作的视图

这是我正在尝试做的(自动),所以我来自我的 booru / 论坛 / 我的其他 2 个网站和(2 个其他人)网站的提要使我的主页出现在一个新网站上

希望这能解释更多

【问题讨论】:

  • 我确信有办法解决这个问题,但我们需要更多信息。你能试着更彻底地解释一下这个问题吗?
  • 您好,非常感谢您至少回复了我在过去 6 小时内一直在寻找不停...
  • 我有一个图像滑块,我必须一直在自定义字段(postimage)中添加图像 url(而不是拇指 url)我已经设置了一个 rss 提要进入 wordpress来自我的 booru animelon.com/booru 它工作正常,但我需要一种方法让它在这个自定义字段中自动添加图像 url
  • 告诉我是否有这个权利。有一些 RSS 提要链接到您的 WP 博客。该提要可能包含图像。您希望将最新 RSS 新闻项目中的图像作为自定义字段自动添加到特定帖子中。它是否正确?如果没有,您能否详细说明一下,以便我可以提供帮助。
  • 那是正确的(除了我已经有一个自定义字段“postimage”之外,这是我可以让它显示在我的滑块和主题中随机位置的唯一方法,我正在添加图片网址一直都在)如果您需要更多详细信息,我可以尝试解释一下,对不起,很难解释,因为我不太明白,再次感谢

标签: image wordpress field


【解决方案1】:

这使用外部Simple Pie library built into WordPress 来获取提要、获取图片网址并为每个项目创建新帖子并将图片网址保存为自定义字段。

要激活进程,我们必须挂接到 wp_cron。下面的代码每天执行一次,但最好每周执行一次以防止重叠。可能会出现一些重叠,所以这仍然需要一种方法来检查我们是否已经导入了图像

首先,我们需要一个函数来在帖子创建后保存自定义字段。本部分来自another answer I found on WordPress Answers

编辑:

这需要封装在插件中以安排 cron 事件,而 cron 事件缺少使其触发的操作。

编辑:

下面的最终版本经过测试并且可以正常工作,但是 OP 获取的提要使用的是相对 url,因此需要在输出代码中的某处添加域名。

<?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;
    }

        

【讨论】:

  • 克里斯...这基本上是正确的,但我认为需要采取中间行动来完成这项工作。例如,您应该拥有add_action('init_feed_cron', 'create_rss_feed_image_post'); 并将wp_schedule_event(time(), 'daily', 'create_rss_feed_image_post'); 更改为wp_schedule_event(time(), 'daily', 'init_feed_cron');。不知道为什么,但你不能直接调用该函数。在wp_schedule_event 中,您调用操作,该操作调用函数。另请注意,此代码只有在您将其放入插件并在代码放入后激活它时才会运行。
  • 好的,我测试了它,它对 Simple Pie 循环进行了一些小的调整,以获取图像 url。我已经更新了上面的代码。
  • 您好,非常感谢,我会在带我的小伙子上学后稍候尝试一下,我正在使用 FeedWordPress 导入提要,但如果这可行,我将再次摆脱 feedwordpress,谢谢跨度>
  • 我添加了更多信息(因为我认为我解释错了)谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-01
相关资源
最近更新 更多