Cách cung cấp nguồn cấp dữ liệu RSS bên ngoài trong chủ đề WordPress hoặc chủ đề con của bạn
Một số người không nhận ra điều đó, nhưng WordPress đã tích hợp khả năng cung cấp thông tin RSS nguồn cấp dữ liệu với một số tính năng vượt trội. Mặc dù có các tiện ích để thực hiện việc này, nhưng bạn thực sự có thể muốn đưa khả năng xuất bản các nguồn cấp dữ liệu khác trực tiếp vào mẫu WordPress của mình.
WordPress hỗ trợ cả Magpie và SimplePie RSS Caching trong chức năng có sẵn của nó, tìm nạp_feed:
- tìm nạp_feed – truy xuất nguồn cấp RSS từ một URL có bộ nhớ đệm tự động
Điều này thực sự hữu ích nếu bạn có nhiều trang web và muốn chia sẻ các bài đăng trên blog của mình trên các trang web khác ngay khi chúng xuất bản. Nó cũng có thể được tốt đẹp từ một SEO quan điểm, tự động tạo các liên kết ngược trên một trang web khác khi bạn xuất bản nội dung của mình.
Tôi cũng đã sử dụng phương pháp này để xuất bản podcast và nguồn cấp dữ liệu video từ trang này sang trang khác.
Chủ đề WordPress hoặc Mẫu chủ đề con
// Get RSS Feed(s)
include_once( ABSPATH . WPINC . '/feed.php' );
$rss = fetch_feed('https://feed.martech.zone');
if ( ! is_wp_error( $rss ) ) :
$maxitems = $rss->get_item_quantity( 5 );
$items = array_slice($rss->get_items, 0, $maxitems);
endif;
?>
<ul>
<?php if (empty($items)) echo '<li>No items</li>';
else
foreach ( $items as $item ) : ?>
<li><a href='<?php echo esc_url( $item->get_permalink() ); ?>'
title='<?php printf( __( 'Posted %s', 'my-text-domain' ), $item->get_date('j F Y | g:i a') ); ?>'>
<?php echo esc_html( $item->get_title() ); ?>
</a></li>
<?php endforeach; ?>
<?php endif; ?>
</ul>
Nếu bạn xuất bản và không thấy ngay bài đăng mới của mình trên một trang web khác, hãy nhớ rằng fetch_feed lưu vào bộ nhớ đệm trong 12 giờ theo mặc định. Bạn có thể sửa đổi điều này bằng cách sửa đổi khoảng thời gian thông qua bộ lọc
wp_feed_cache_transient_lifetime.function update_cache_time( $seconds )
{
// change the default feed cache recreation period to 1 hour
return (int) 3600;
}
//set feed cache duration
add_filter( 'wp_feed_cache_transient_lifetime', 'update_cache_time');
Nếu muốn cập nhật bộ nhớ đệm cho một nguồn cấp dữ liệu cụ thể, bạn có thể áp dụng bộ lọc, tìm nạp nguồn cấp dữ liệu rồi áp dụng lại thời gian bộ nhớ đệm mặc định bằng cách cập nhật mã của bạn như sau:
// filter to set cache lifetime
add_filter( 'wp_feed_cache_transient_lifetime' , 'update_cache_time' );
$rss = fetch_feed( $feed_url );
// reset the cache lifetime to default value
remove_filter( 'wp_feed_cache_transient_lifetime' , 'update_cache_time' );
Chỉnh sửa mẫu WordPress của bạn (Thiết kế > Trình chỉnh sửa chủ đề) và đặt mã ở nơi bạn muốn nguồn cấp dữ liệu xuất bản. Ngoài ra còn có rất nhiều tiện ích thanh bên sẽ xuất bản nguồn cấp dữ liệu cho bạn.