이 플러그인은 최근 3개의 주요 워드프레스 출시와 시험 되지 않았습니다. 워드프레스의 좀 더 최근 버전으로 이용할 때 더 이상 관리되지 않고 지원되지 않고 호환성 문제가 있을 수 있습니다.

JMS Rss Feed

설명

This plugin only does one task, adding your posts’ featured image to the RSS feed in tag. It will show your full size featured image url in the tag.

설치

  1. Upload the plugin to your wp-content/plugins folder, or use the Plugins > Add New section of your dashboard to search for “JMS Rss Feed”
  2. Activate the plugin through the Plugins menu in WordPress

FAQ

Installation Instructions
  1. Upload the plugin to your wp-content/plugins folder, or use the Plugins > Add New section of your dashboard to search for “JMS Rss Feed”
  2. Activate the plugin through the Plugins menu in WordPress
Q1: How to get rss feed from my WordPress website?

If your website is built on WordPress, you can use this type of link to access your website rss feed. For example: https://jmsliu.com/feed?page=1

Q2: How to get single post content in XML?

Currently, RSS standard doesn’t define rss for single post. If you really need such feature like loading single post content in XML format, please leave the comment in this plugin page. We will consider to add this feature in this plugin.

Q3: What happen if my post doesn’t have featured image?

In this case, there will no be tag in your RSS Feed XML.

Q4: What does this plugin do?

This plugin adds the featured image of each post to the RSS feed. The featured image full size version url will be added in tag

Q5: Where can I see the change?

In your site’s RSS feed. If you have featured image in your posts, you will find in your rss feed.

후기

2016년 9월 3일
Hello, The description is not correct. This plugin sends notifications, and downloaders are not informed : "This plugin only does one task, adding your posts' featured image to the RSS feed in tag. It will show your full size featured image url in the tag." Here is the source code of version 3.0 <?php /* Plugin Name: JMS Rss Feed Plugin URI: http://www.jmsliu.com/products/jms-rss-feed Description: Adds the featured image tag <jms-featured-image> to your posts to the RSS feed. Author: James Liu Version: 3.0 Author URI: http://jmsliu.com/ */ global $jms_rss_db_version; $jms_rss_db_version = '1.0'; add_action('rss2_item', 'add_jms_img_rss_node'); add_action( 'publish_post', 'send_push_notification', 10, 2 ); //work together add_filter('query_vars', 'add_jms_single_post_var'); add_action('parse_request', 'return_jms_single_post'); //install database register_activation_hook( __FILE__, 'install_jms' ); function add_jms_img_rss_node() { global $post; if(has_post_thumbnail($post->ID)) { $thumbnail = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), "full"); echo "<jms-featured-image>".$thumbnail[0]."</jms-featured-image>"; } } function add_jms_single_post_var($vars) { $vars[] = 'jms_rss_post_url'; $vars[] = 'jms_rss_action'; $vars[] = 'jms_rss_token'; $vars[] = 'jms_rss_send'; return $vars; } function send_push_notification($ID, $post) { global $wpdb; $table_name = $wpdb->prefix . 'jms_rss_android_listener'; $devicesList = $wpdb->get_results("SELECT * FROM $table_name WHERE state=1", "ARRAY_A"); $wpdb->flush(); if ( $devicesList ) { define("GOOGLE_API_KEY", "AIzaSyDYVTahqUmT4RX6brZnReUr6Rq2KNEUv90"); $deviceList = array(); foreach ( $devicesList as $device ) { $token = $device["device_token"]; if(strlen($token) > 10) { $deviceList[] = $token; } } //$author = $post->post_author; //Post author ID //$name = get_the_author_meta( 'display_name', $author ); //$email = get_the_author_meta( 'user_email', $author ); $title = $post->post_title; //$permalink = get_permalink( $ID ); //$edit = get_edit_post_link( $ID, '' ); //$subject = sprintf( 'Published: %s', $title ); $message = sprintf ('The article “%s” has been published.', $title); //$message .= sprintf( 'View: %s', $permalink ); sendNotification($deviceList, $message); } } function return_jms_single_post($wp) { global $wpdb; //this is for test if(array_key_exists('jms_rss_send', $wp->query_vars)) { $action = $wp->query_vars['jms_rss_send']; if($action == '1') { $table_name = $wpdb->prefix . 'jms_rss_android_listener'; $devicesList = $wpdb->get_results("SELECT * FROM $table_name WHERE state=1", "ARRAY_A"); $wpdb->flush(); if ( $devicesList ) { define("GOOGLE_API_KEY", "AIzaSyDYVTahqUmT4RX6brZnReUr6Rq2KNEUv90"); $deviceList = array(); foreach ( $devicesList as $device ) { $token = $device["device_token"]; if(strlen($token) > 10) { $deviceList[] = $token; } } sendNotification($deviceList, "Hello World!"); } } exit; } if (array_key_exists('jms_rss_action', $wp->query_vars)) { $action = $wp->query_vars['jms_rss_action']; if(!empty($action)) { if($action == "register_android") { $token = $wp->query_vars['jms_rss_token']; $table_name = $wpdb->prefix . 'jms_rss_android_listener'; $wpdb->query( $wpdb->prepare( " INSERT INTO $table_name ( device_token, state, reg_date ) VALUES ( %s, %d, %s ) ", array( $token, 1, current_time('mysql', 1) ) ) ); echo $wpdb->insert_id; exit; } } } if (array_key_exists('jms_rss_post_url', $wp->query_vars)) { //for old usage only $url = $wp->query_vars['jms_rss_post_url']; $postid = url_to_postid( $url ); $post = get_post($postid); //print_r($post); echo $post->post_content; exit; } } function install_jms() { global $jms_rss_db_version; global $wpdb; $installed_ver = get_option( "jms_rss_db_version", null ); if ( $installed_ver == null ) { $table_name = $wpdb->prefix . "jms_rss_android_listener"; $charset_collate = $wpdb->get_charset_collate(); $sql = "CREATE TABLE IF NOT EXISTS $table_name ( id INT NOT NULL AUTO_INCREMENT , device_token VARCHAR(255) NOT NULL , state TINYINT NOT NULL COMMENT '0 disabled\n1 enabled' , reg_date DATETIME NOT NULL , PRIMARY KEY (id), UNIQUE INDEX id_UNIQUE (id ASC) , UNIQUE INDEX device_token_UNIQUE (device_token ASC) ) ENGINE = INNODB $charset_collate;"; require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); dbDelta( $sql ); add_option( "jms_rss_db_version", $jms_rss_db_version ); } } function sendNotification($registrationIDs, $message) { //$registrationIDs = array( "reg id1","reg id2"); $url = 'https://gcm-http.googleapis.com/gcm/send'; $fields = array( 'registration_ids' => $registrationIDs, 'data' => array( "message" => $message ), ); $headers = array( 'Authorization: key=' . GOOGLE_API_KEY, 'Content-Type: application/json' ); // Open connection $ch = curl_init(); // Set the URL, number of POST vars, POST data curl_setopt( $ch, CURLOPT_URL, $url); curl_setopt( $ch, CURLOPT_POST, true); curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true); //curl_setopt( $ch, CURLOPT_POSTFIELDS, json_encode( $fields)); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // curl_setopt($ch, CURLOPT_POST, true); // curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode( $fields)); // Execute post $result = curl_exec($ch); // Close connection curl_close($ch); echo $result; //print_r($result); //var_dump($result); } ?>
모든 1 평가 읽기

기여자 & 개발자

“JMS Rss Feed”(은)는 오픈 소스 소프트웨어입니다. 다음의 사람들이 이 플러그인에 기여하였습니다.

기여자

자국어로 “JMS Rss Feed”(을)를 번역하세요.

개발에 관심이 있으십니까?

코드 탐색하기는, SVN 저장소를 확인하시거나, 개발 기록RSS로 구독하세요.

변경이력

3.5

Remove all unnecessary features from the plugin. Now the plugin only has the pure feature: add tag in RSS Feed XML.

2.0

Add customization url in your wordpress to return a plain text of your articles.

1.0

  • First build