如何使用 SimplePie 从 wordpress RSS 获取自定义数据
How to get custom data from wordpress RSS with SimplePie
我对我的 Wordpress 中的 RSS 提要做了一些更改,我正在使用 fetch_feed()
向另一个网站显示数据。
假设有 2 个网站,分别名为#Wordpress1 和#Wordpress2。
这是我添加到#wordpress1 的 functions.php
文件
中的代码
add_action('rss2_item', 'dw_add_data_to_rss');
function dw_add_data_to_rss(){
global $post;
if( $post->post_type == 'product' ) {
$product = new WC_Product( $post->ID );
$output = '';
$thumbnail_ID = get_post_thumbnail_id( $post->ID );
$thumbnail = wp_get_attachment_image_src($thumbnail_ID, 'thumbnail');
$output = '<post-thumbnail>';
$output .= '<url>'. $thumbnail[0] .'</url>';
$output .= '<width>'. $thumbnail[1] .'</width>';
$output .= '<height>'. $thumbnail[2] .'</height>';
$output .= '</post-thumbnail>';
$output .= '<price>' . number_format( $product->get_price() ) . ' ' . get_woocommerce_currency_symbol() . '</price>';
echo $output;
}
}
此代码将产品价格和缩略图添加到 Rss 提要,现在我们需要在 #Wordpress2 上显示这些数据,但我不知道该怎么做
$rss = fetch_feed( 'http://localhost/wp/feed/?post_type=product' );
if ( ! is_wp_error( $rss ) ) {
$maxitems = $rss->get_item_quantity( 10 );
$rss_items = $rss->get_items( 0, $maxitems );
}
foreach ( $rss_items as $item ) {
echo '<a href="'. $item->get_permalink() .'"><img src="{MY_IMAGE_FROM_RSS}"> <span class="price">{MY_PRICE_FROM_RSS}</span></a>';
}
我应该用什么来代替上面代码中的 MY_IMAGE_FROM_RSS 和 MY_PRICE_FROM_RSS
您应该使用 get_item_tags() 函数并为所需的命名空间使用空白。
MY_IMAGE_FROM_RSS
使用 $item->get_item_tags('','post-thumbnail')[0]['child']['']['url'][0]['data']
,MY_PRICE_FROM_RSS
使用 $item->get_item_tags('','price')[0]['data']
我对我的 Wordpress 中的 RSS 提要做了一些更改,我正在使用 fetch_feed()
向另一个网站显示数据。
假设有 2 个网站,分别名为#Wordpress1 和#Wordpress2。
这是我添加到#wordpress1 的 functions.php
文件
add_action('rss2_item', 'dw_add_data_to_rss');
function dw_add_data_to_rss(){
global $post;
if( $post->post_type == 'product' ) {
$product = new WC_Product( $post->ID );
$output = '';
$thumbnail_ID = get_post_thumbnail_id( $post->ID );
$thumbnail = wp_get_attachment_image_src($thumbnail_ID, 'thumbnail');
$output = '<post-thumbnail>';
$output .= '<url>'. $thumbnail[0] .'</url>';
$output .= '<width>'. $thumbnail[1] .'</width>';
$output .= '<height>'. $thumbnail[2] .'</height>';
$output .= '</post-thumbnail>';
$output .= '<price>' . number_format( $product->get_price() ) . ' ' . get_woocommerce_currency_symbol() . '</price>';
echo $output;
}
}
此代码将产品价格和缩略图添加到 Rss 提要,现在我们需要在 #Wordpress2 上显示这些数据,但我不知道该怎么做
$rss = fetch_feed( 'http://localhost/wp/feed/?post_type=product' );
if ( ! is_wp_error( $rss ) ) {
$maxitems = $rss->get_item_quantity( 10 );
$rss_items = $rss->get_items( 0, $maxitems );
}
foreach ( $rss_items as $item ) {
echo '<a href="'. $item->get_permalink() .'"><img src="{MY_IMAGE_FROM_RSS}"> <span class="price">{MY_PRICE_FROM_RSS}</span></a>';
}
我应该用什么来代替上面代码中的 MY_IMAGE_FROM_RSS 和 MY_PRICE_FROM_RSS
您应该使用 get_item_tags() 函数并为所需的命名空间使用空白。
MY_IMAGE_FROM_RSS
使用 $item->get_item_tags('','post-thumbnail')[0]['child']['']['url'][0]['data']
,MY_PRICE_FROM_RSS
使用 $item->get_item_tags('','price')[0]['data']