diff --git a/css/feedzy-rss-feeds.css b/css/feedzy-rss-feeds.css index c189e94d..cb1b4764 100755 --- a/css/feedzy-rss-feeds.css +++ b/css/feedzy-rss-feeds.css @@ -2,7 +2,7 @@ * feedzy-rss-feeds.css * Feedzy RSS Feed * Copyright: (c) 2016 Themeisle, themeisle.com - * Version: 3.0.2 + * Version: 3.0.3 * Plugin Name: FEEDZY RSS Feeds * Plugin URI: http://themeisle.com/plugins/feedzy-rss-feeds/ * Author: Themeisle diff --git a/css/form.css b/css/form.css index cdc68aeb..43199dbc 100755 --- a/css/form.css +++ b/css/form.css @@ -722,3 +722,8 @@ img { .feedzy-template-style2 { background: url(../img/feedzy-style2-template.jpg) no-repeat bottom center; } + +input[disabled], +select[disabled] { + cursor: not-allowed; +} diff --git a/feedzy-rss-feed.php b/feedzy-rss-feed.php index c4d1b09d..428ed431 100755 --- a/feedzy-rss-feed.php +++ b/feedzy-rss-feed.php @@ -15,7 +15,7 @@ * Plugin Name: Feedzy RSS Feeds Lite * Plugin URI: https://themeisle.com/plugins/feedzy-rss-feeds-lite/ * Description: This is a short description of what the plugin does. It's displayed in the WordPress admin area. - * Version: 3.0.2 + * Version: 3.0.3 * Author: Themeisle * Author URI: http://themeisle.com * License: GPL-2.0+ @@ -23,12 +23,10 @@ * Text Domain: feedzy-rss-feeds * Domain Path: /languages */ - // If this file is called directly, abort. if ( ! defined( 'WPINC' ) ) { die; } - /** * The code that runs during plugin activation. * This action is documented in includes/feedzy-rss-feeds-activator.php @@ -49,7 +47,6 @@ function deactivate_feedzy_rss_feeds() { register_activation_hook( __FILE__, 'activate_feedzy_rss_feeds' ); register_deactivation_hook( __FILE__, 'deactivate_feedzy_rss_feeds' ); - /** * The core plugin class that is used to define internationalization, * admin-specific hooks, and public-facing site hooks. @@ -58,36 +55,37 @@ function deactivate_feedzy_rss_feeds() { */ function feedzy_rss_feeds_autoload( $class ) { $namespaces = array( 'Feedzy_Rss_Feeds' ); - foreach ( $namespaces as $namespace ) { if ( substr( $class, 0, strlen( $namespace ) ) == $namespace ) { $filename = plugin_dir_path( __FILE__ ) . 'includes/' . str_replace( '_', '-', strtolower( $class ) ) . '.php'; if ( is_readable( $filename ) ) { require_once $filename; + return true; } - $filename = plugin_dir_path( __FILE__ ) . 'includes/abstract/' . str_replace( '_', '-', strtolower( $class ) ) . '.php'; if ( is_readable( $filename ) ) { require_once $filename; + return true; } - $filename = plugin_dir_path( __FILE__ ) . 'includes/admin/' . str_replace( '_', '-', strtolower( $class ) ) . '.php'; if ( is_readable( $filename ) ) { require_once $filename; + return true; } } } if ( is_readable( plugin_dir_path( __FILE__ ) . 'includes/admin/feedzy-wp-widget.php' ) ) { require_once plugin_dir_path( __FILE__ ) . 'includes/admin/feedzy-wp-widget.php'; + return true; } + return false; } - /** * Begins execution of the plugin. * @@ -101,12 +99,9 @@ function run_feedzy_rss_feeds() { define( 'FEEDZY_BASEFILE', __FILE__ ); define( 'FEEDZY_ABSURL', plugins_url( '/', __FILE__ ) ); define( 'FEEDZY_ABSPATH', dirname( __FILE__ ) ); - - $plugin = new Feedzy_Rss_Feeds(); - $plugin->run(); - + $feedzy = new Feedzy_Rss_Feeds(); + $feedzy->run(); } spl_autoload_register( 'feedzy_rss_feeds_autoload' ); - run_feedzy_rss_feeds(); diff --git a/form/form.php b/form/form.php index dcd48322..ca1a9c39 100755 --- a/form/form.php +++ b/form/form.php @@ -38,8 +38,10 @@ foreach ( $section['elements'] as $name => $props ) { $element = ''; $disabled = ''; + $badge = ''; if ( isset( $props['disabled'] ) && $props['disabled'] ) { $disabled = 'disabled="true"'; + $badge = '' . __( 'Premium', 'feedzy-rss-feeds' ) . ''; } switch ( $props['type'] ) { case 'select': @@ -86,7 +88,7 @@ $output .= '
- +
' . $element . ' diff --git a/includes/abstract/feedzy-rss-feeds-admin-abstract.php b/includes/abstract/feedzy-rss-feeds-admin-abstract.php index 615d0ba6..a8966775 100755 --- a/includes/abstract/feedzy-rss-feeds-admin-abstract.php +++ b/includes/abstract/feedzy-rss-feeds-admin-abstract.php @@ -317,12 +317,17 @@ public function feedzy_summary_input_filter( $description, $content, $feedURL ) * @since 3.0.0 * @access public * @param boolean $continue A boolean to stop the script. - * @param array $keywords_title The keywords for title. + * @param array $sc The shortcode attributes. * @param object $item The feed item. * @param string $feedURL The feed URL. * @return boolean */ - public function feedzy_feed_item_keywords_title( $continue, $keywords_title, $item, $feedURL ) { + public function feedzy_feed_item_keywords_title( $continue, $sc, $item, $feedURL ) { + if ( feedzy_is_new() && ! feedzy_is_pro() ) { + return true; + } + + $keywords_title = $sc['keywords_title']; if ( ! empty( $keywords_title ) ) { $continue = false; foreach ( $keywords_title as $keyword ) { @@ -334,21 +339,6 @@ public function feedzy_feed_item_keywords_title( $continue, $keywords_title, $it return $continue; } - /** - * Insert cover picture to main rss feed content - * - * @since 3.0.0 - * @access public - * @param string $content The item feed content. - * @return string - */ - public function feedzy_insert_thumbnail_rss( $content ) { - global $post; - if ( has_post_thumbnail( $post->ID ) ) { - $content = '' . get_the_post_thumbnail( $post->ID, 'thumbnail' ) . '' . $content; - } - return $content; - } /** * Include cover picture (medium) to rss feed enclosure @@ -456,6 +446,10 @@ public function sanitize_attr( $sc, $feedURL ) { $sc['keywords_title'] = rtrim( $sc['keywords_title'], ',' ); $sc['keywords_title'] = array_map( 'trim', explode( ',', $sc['keywords_title'] ) ); } + if ( ! empty( $sc['keywords_ban'] ) ) { + $sc['keywords_ban'] = rtrim( $sc['keywords_ban'], ',' ); + $sc['keywords_ban'] = array_map( 'trim', explode( ',', $sc['keywords_ban'] ) ); + } if ( ! empty( $sc['summarylength'] ) && ! ctype_digit( $sc['summarylength'] ) ) { $sc['summarylength'] = ''; @@ -633,7 +627,7 @@ public function render_content( $sc, $feed, $content = '', $feedURL ) { $items = apply_filters( 'feedzy_feed_items', $feed->get_items(), $feedURL ); $feed_items = array(); foreach ( (array) $items as $item ) { - $continue = apply_filters( 'feedzy_item_keyword', true, $sc['keywords_title'], $item, $feedURL ); + $continue = apply_filters( 'feedzy_item_keyword', true, $sc, $item, $feedURL ); if ( $continue == true ) { // Count items if ( $count >= $sc['max'] ) { diff --git a/includes/admin/feedzy-rss-feeds-admin.php b/includes/admin/feedzy-rss-feeds-admin.php index e4a1d74c..c26e1080 100755 --- a/includes/admin/feedzy-rss-feeds-admin.php +++ b/includes/admin/feedzy-rss-feeds-admin.php @@ -116,7 +116,7 @@ public function feedzy_filter_plugin_row_meta( $links, $file ) { if ( strpos( $file, 'feedzy-rss-feed.php' ) !== false ) { $new_links = array( 'doc' => '' . __( 'Documentation and examples', 'feedzy-rss-feeds' ) . '', - 'more_plugins' => '' . __( 'More Plugins', 'feedzy-rss-feeds' ) . '', + 'more_features' => '' . __( 'More Features', 'feedzy-rss-feeds' ) . '', ); $links = array_merge( $links, $new_links ); diff --git a/includes/admin/feedzy-rss-feeds-options.php b/includes/admin/feedzy-rss-feeds-options.php new file mode 100644 index 00000000..d07525dc --- /dev/null +++ b/includes/admin/feedzy-rss-feeds-options.php @@ -0,0 +1,84 @@ +init(); + } + + return self::$instance; + } + + /** + * Init the default values of the options class. + */ + public function init() { + self::$instance->options = get_option( Feedzy_Rss_Feeds::get_plugin_name() ); + } + + /** + * Get the key option value from DB. + * + * @param string $key The key name of the option. + * + * @return bool|mixed The value of the option + */ + public function get_var( $key ) { + if ( isset( self::$instance->options[ $key ] ) ) { + return self::$instance->options[ $key ]; + } + + return false; + } + + /** + * Setter method for updating the options array. + * + * @param string $key The name of option. + * @param string $value The value of the option. + * + * @return bool|mixed The value of the option. + */ + public function set_var( $key, $value = '' ) { + self::$instance->options[ $key ] = apply_filters( 'feedzy_pre_set_option_' . $key, $value ); + + return update_option( Feedzy_Rss_Feeds::get_plugin_name(), self::$instance->options ); + + } + } +} diff --git a/includes/admin/feedzy-rss-feeds-ui-lang.php b/includes/admin/feedzy-rss-feeds-ui-lang.php index fe4a9952..c490a91b 100755 --- a/includes/admin/feedzy-rss-feeds-ui-lang.php +++ b/includes/admin/feedzy-rss-feeds-ui-lang.php @@ -229,6 +229,14 @@ public static function get_form_elements() { 'placeholder' => __( '(eg: news, sports etc.)', 'feedzy-rss-feeds' ), 'type' => 'text', 'value' => '', + 'disabled' => feedzy_is_new(), + ), + 'keywords_ban' => array( + 'label' => __( 'Exclude items if title or content contains specific keyword(s) (comma-separated list/case sensitive). ', 'feedzy-rss-feeds' ), + 'placeholder' => __( '(eg: politics, gossip etc.)', 'feedzy-rss-feeds' ), + 'type' => 'text', + 'value' => '', + 'disabled' => true, ), ), ), @@ -276,7 +284,7 @@ public static function get_form_elements() { 'description' => __( 'Get access to more options and customizations with full version of Feedzy RSS Feeds . Use existing templates or extend them and make them your own.', 'feedzy-rss-feeds' ) . '
' . '' . __( 'See more features of Feedzy RSS Feeds ', 'feedzy-rss-feeds' ) . '', 'elements' => array( 'price' => array( - 'label' => __( 'Should we display the price from the feed if it is available?', 'feedzy-rss-feeds' ) . '' . __( 'Premium', 'feedzy-rss-feeds' ) . '', + 'label' => __( 'Should we display the price from the feed if it is available?', 'feedzy-rss-feeds' ), 'type' => 'select', 'disabled' => true, 'value' => '', @@ -296,21 +304,21 @@ public static function get_form_elements() { ), ), 'referral_url' => array( - 'label' => __( 'Referral URL parameters (w/o "?").', 'feedzy-rss-feeds' ) . '' . __( 'Premium', 'feedzy-rss-feeds' ) . '', + 'label' => __( 'Referral URL parameters (w/o "?").', 'feedzy-rss-feeds' ), 'placeholder' => __( '(eg. promo_code=feedzy_is_awesome)', 'feedzy-rss-feeds' ), 'type' => 'text', 'disabled' => true, 'value' => '', ), 'columns' => array( - 'label' => __( 'How many columns we should use to display the feed items', 'feedzy-rss-feeds' ) . '' . __( 'Premium', 'feedzy-rss-feeds' ) . '', + 'label' => __( 'How many columns we should use to display the feed items', 'feedzy-rss-feeds' ), 'placeholder' => __( '(eg. 1, 2, ..., 6)', 'feedzy-rss-feeds' ), 'type' => 'number', 'disabled' => true, 'value' => '1', ), 'template' => array( - 'label' => __( 'Template to use when displaying the feed.', 'feedzy-rss-feeds' ) . '' . __( 'Premium', 'feedzy-rss-feeds' ) . '', + 'label' => __( 'Template to use when displaying the feed.', 'feedzy-rss-feeds' ), 'type' => 'radio', 'disabled' => true, 'value' => '', diff --git a/includes/admin/feedzy-rss-feeds-upgrader.php b/includes/admin/feedzy-rss-feeds-upgrader.php new file mode 100644 index 00000000..d123e2f7 --- /dev/null +++ b/includes/admin/feedzy-rss-feeds-upgrader.php @@ -0,0 +1,68 @@ +get_var( 'db_version' ); + if ( $db_version === false ) { + feedzy_options()->set_var( 'db_version', $php_version ); + $this->db_version = $php_version; + } else { + if ( feedzy_options()->get_var( 'is_new' ) === false ) { + feedzy_options()->set_var( 'is_new', 'no' ); + } + $this->db_version = $db_version; + } + $this->php_version = $php_version; + } + + /** + * Check if we need to run an upgrade or not. + */ + public function check() { + if ( version_compare( $this->db_version, $this->php_version ) === - 1 ) { + do_action( 'feedzy_upgrade_to_' . self::version_to_hook( $this->php_version ), $this->db_version ); + } + } + + /** + * Normalize version to be used in hooks. + * + * @param string $version In format 2.0.0. + * + * @return string Version format 2_0_0. + */ + public static function version_to_hook( $version ) { + return str_replace( '.', '_', $version ); + } + } +} diff --git a/includes/feedzy-rss-feeds-activator.php b/includes/feedzy-rss-feeds-activator.php index ba69694c..a8e11203 100755 --- a/includes/feedzy-rss-feeds-activator.php +++ b/includes/feedzy-rss-feeds-activator.php @@ -22,14 +22,18 @@ class Feedzy_Rss_Feeds_Activator { /** - * Short Description. (use period) + * Plugin activation action. * - * Long Description. + * Triggers the plugin activation action on plugin activate. * * @since 3.0.0 * @access public */ public static function activate() { + $options = get_option( Feedzy_Rss_Feeds::get_plugin_name(), array() ); + if ( ! isset( $options['is_new'] ) ) { + update_option( Feedzy_Rss_Feeds::get_plugin_name(), array( 'is_new' => 'yes' ) ); + } } diff --git a/includes/feedzy-rss-feeds-feed-tweaks.php b/includes/feedzy-rss-feeds-feed-tweaks.php new file mode 100644 index 00000000..35dae428 --- /dev/null +++ b/includes/feedzy-rss-feeds-feed-tweaks.php @@ -0,0 +1,61 @@ +ID ) ) { + $content = '' . get_the_post_thumbnail( $post->ID, 'thumbnail' ) . '' . $content; + } + + return $content; +} + +// Alter the main blog feed to insert the thumbnail image. +add_filter( 'the_excerpt_rss', 'feedzy_insert_thumbnail_RSS' ); +add_filter( 'the_content_feed', 'feedzy_insert_thumbnail_RSS' ); +/** + * The helper method for options wrapper + * + * @return Feedzy_Rss_Feeds_Options + */ +function feedzy_options() { + return Feedzy_Rss_Feeds_Options::instance(); +} + +/** + * Check if the user is before 3.0.3 or not. + * + * @return bool If the users is before 3.0.3 or after + */ +function feedzy_is_new() { + return feedzy_options()->get_var( 'is_new' ) === 'yes'; +} + +/** + * Check if the user is pro or not. + * + * @return bool If the users is pro or not + */ +function feedzy_is_pro() { + return defined( 'FEEDZY_PRO_ABSPATH' ); +} diff --git a/includes/feedzy-rss-feeds.php b/includes/feedzy-rss-feeds.php index d57ac1c1..3f14b9e0 100755 --- a/includes/feedzy-rss-feeds.php +++ b/includes/feedzy-rss-feeds.php @@ -29,32 +29,38 @@ class Feedzy_Rss_Feeds { /** - * The loader that's responsible for maintaining and registering all hooks that power - * the plugin. + * The unique identifier of this plugin. * * @since 3.0.0 * @access protected - * @var Feedzy_Rss_Feeds_Loader $loader Maintains and registers all hooks for the plugin. + * @var string $plugin_name The string used to uniquely identify this plugin. */ - protected $loader; - + protected static $plugin_name; /** - * The unique identifier of this plugin. + * The current version of the plugin. * * @since 3.0.0 * @access protected - * @var string $plugin_name The string used to uniquely identify this plugin. + * @var string $version The current version of the plugin. */ - protected $plugin_name; - + protected static $version; /** - * The current version of the plugin. + * The loader that's responsible for maintaining and registering all hooks that power + * the plugin. * * @since 3.0.0 * @access protected - * @var string $version The current version of the plugin. + * @var Feedzy_Rss_Feeds_Loader $loader Maintains and registers all hooks for the plugin. + */ + protected $loader; + /** + * The class responsible for all upgrading proceses. + * + * @since 3.0.3 + * @access protected + * @var Feedzy_Rss_Feeds_Upgrader $upgrader Responsible for the upgrading processes. */ - protected $version; + protected $upgrader; /** * Define the core functionality of the plugin. @@ -67,10 +73,8 @@ class Feedzy_Rss_Feeds { * @access public */ public function __construct() { - - $this->plugin_name = 'feedzy-rss-feeds'; - $this->version = '3.0.2'; - + self::$plugin_name = 'feedzy-rss-feeds'; + self::$version = '3.0.3'; $this->load_dependencies(); $this->set_locale(); $this->define_admin_hooks(); @@ -95,11 +99,9 @@ public function __construct() { */ private function load_dependencies() { - /** - * The class responsible for orchestrating the actions and filters of the - * core plugin. - */ + include_once FEEDZY_ABSPATH . '/includes/feedzy-rss-feeds-feed-tweaks.php'; $this->loader = new Feedzy_Rss_Feeds_Loader(); + $this->upgrader = new Feedzy_Rss_Feeds_Upgrader(); } @@ -113,13 +115,11 @@ private function load_dependencies() { * @access private */ private function set_locale() { - /** * The class responsible for defining internationalization functionality * of the plugin. */ $plugin_i18n = new Feedzy_Rss_Feeds_i18n(); - $this->loader->add_action( 'plugins_loaded', $plugin_i18n, 'load_plugin_textdomain' ); } @@ -135,37 +135,21 @@ private function define_admin_hooks() { $plugin_ui = new Feedzy_Rss_Feeds_Ui( $this->get_plugin_name(), $this->get_version(), $this->loader ); $this->loader->add_action( 'init', $plugin_ui, 'register_init' ); $this->loader->add_filter( 'mce_external_languages', $plugin_ui, 'feedzy_add_tinymce_lang', 10, 1 ); - $plugin_admin = new Feedzy_Rss_Feeds_Admin( $this->get_plugin_name(), $this->get_version() ); - - $this->loader->add_filter( 'plugin_row_meta', $plugin_admin ,'feedzy_filter_plugin_row_meta', 10, 2 ); + $this->loader->add_filter( 'plugin_row_meta', $plugin_admin, 'feedzy_filter_plugin_row_meta', 10, 2 ); $this->loader->add_filter( 'feedzy_default_image', $plugin_admin, 'feedzy_define_default_image' ); - $this->loader->add_filter( 'feedzy_default_error', $plugin_admin ,'feedzy_default_error_notice', 9, 2 ); + $this->loader->add_filter( 'feedzy_default_error', $plugin_admin, 'feedzy_default_error_notice', 9, 2 ); $this->loader->add_filter( 'feedzy_item_attributes', $plugin_admin, 'feedzy_add_item_padding', 10, 2 ); - $this->loader->add_filter( 'feedzy_item_attributes', $plugin_admin, 'feedzy_classes_item' ,99,5 ); + $this->loader->add_filter( 'feedzy_item_attributes', $plugin_admin, 'feedzy_classes_item', 99, 5 ); + $this->loader->add_filter( 'feedzy_register_options', $plugin_admin, 'register_options' ); $this->loader->add_filter( 'feedzy_summary_input', $plugin_admin, 'feedzy_summary_input_filter', 9, 3 ); $this->loader->add_filter( 'feedzy_item_keyword', $plugin_admin, 'feedzy_feed_item_keywords_title', 9, 4 ); - $this->loader->add_filter( 'the_excerpt_rss', $plugin_admin, 'feedzy_insert_thumbnail_rss' ); - $this->loader->add_filter( 'the_content_feed', $plugin_admin, 'feedzy_insert_thumbnail_rss' ); add_shortcode( 'feedzy-rss', array( $plugin_admin, 'feedzy_rss' ) ); - - $this->loader->add_action( 'wp_ajax_get_tinymce_form', $plugin_admin, 'get_tinymce_form' ); + $this->loader->add_action( 'wp_ajax_get_tinymce_form', $plugin_admin, 'get_tinymce_form' ); $this->loader->add_action( 'wp_enqueue_scripts', $plugin_admin, 'enqueue_styles' ); $this->loader->add_action( 'admin_enqueue_scripts', $plugin_admin, 'enqueue_styles' ); - $plugin_widget = new feedzy_wp_widget( $plugin_admin ); $this->loader->add_action( 'widgets_init', $plugin_widget, 'registerWidget', 10 ); - - } - - /** - * Run the loader to execute all of the hooks with WordPress. - * - * @since 3.0.0 - * @access public - */ - public function run() { - $this->loader->run(); } /** @@ -176,30 +160,40 @@ public function run() { * @access public * @return string The name of the plugin. */ - public function get_plugin_name() { - return $this->plugin_name; + public static function get_plugin_name() { + return self::$plugin_name; } /** - * The reference to the class that orchestrates the hooks with the plugin. + * Retrieve the version number of the plugin. * * @since 3.0.0 * @access public - * @return Feedzy_Rss_Feeds_Loader Orchestrates the hooks of the plugin. + * @return string The version number of the plugin. */ - public function get_loader() { - return $this->loader; + public static function get_version() { + return self::$version; } /** - * Retrieve the version number of the plugin. + * Run the loader to execute all of the hooks with WordPress. + * + * @since 3.0.0 + * @access public + */ + public function run() { + $this->loader->run(); + } + + /** + * The reference to the class that orchestrates the hooks with the plugin. * * @since 3.0.0 * @access public - * @return string The version number of the plugin. + * @return Feedzy_Rss_Feeds_Loader Orchestrates the hooks of the plugin. */ - public function get_version() { - return $this->version; + public function get_loader() { + return $this->loader; } } diff --git a/languages/feedzy-rss-feeds.pot b/languages/feedzy-rss-feeds.pot index ff19022c..66ea7d7c 100644 --- a/languages/feedzy-rss-feeds.pot +++ b/languages/feedzy-rss-feeds.pot @@ -2,9 +2,9 @@ # This file is distributed under the GPL-2.0+. msgid "" msgstr "" -"Project-Id-Version: Feedzy RSS Feeds Lite 3.0.1\n" +"Project-Id-Version: Feedzy RSS Feeds Lite 3.0.3\n" "Report-Msgid-Bugs-To: https://github.com/Codeinwp/feedzy-rss-feeds/issues\n" -"POT-Creation-Date: 2017-01-06 10:05:03+00:00\n" +"POT-Creation-Date: 2017-01-10 14:42:23+00:00\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -24,19 +24,23 @@ msgstr "" "X-Poedit-Bookmarks: \n" "X-Textdomain-Support: yes\n" +#: form/form.php:44 +msgid "Premium" +msgstr "" + #: includes/abstract/feedzy-rss-feeds-admin-abstract.php:51 msgid "Sorry, this feed is currently unavailable or does not exists anymore." msgstr "" -#: includes/abstract/feedzy-rss-feeds-admin-abstract.php:559 +#: includes/abstract/feedzy-rss-feeds-admin-abstract.php:553 msgid "by" msgstr "" -#: includes/abstract/feedzy-rss-feeds-admin-abstract.php:564 +#: includes/abstract/feedzy-rss-feeds-admin-abstract.php:558 msgid "on" msgstr "" -#: includes/abstract/feedzy-rss-feeds-admin-abstract.php:566 +#: includes/abstract/feedzy-rss-feeds-admin-abstract.php:560 msgid "at" msgstr "" @@ -48,6 +52,10 @@ msgstr "" msgid "More Plugins" msgstr "" +#: includes/admin/feedzy-rss-feeds-admin.php:119 +msgid "More Features" +msgstr "" + #: includes/admin/feedzy-rss-feeds-ui-lang.php:53 msgid "Feedzy Lite" msgstr "" @@ -104,24 +112,24 @@ msgstr "" #: includes/admin/feedzy-rss-feeds-ui-lang.php:152 #: includes/admin/feedzy-rss-feeds-ui-lang.php:189 #: includes/admin/feedzy-rss-feeds-ui-lang.php:208 -#: includes/admin/feedzy-rss-feeds-ui-lang.php:244 -#: includes/admin/feedzy-rss-feeds-ui-lang.php:285 +#: includes/admin/feedzy-rss-feeds-ui-lang.php:252 +#: includes/admin/feedzy-rss-feeds-ui-lang.php:293 msgid "Auto" msgstr "" #: includes/admin/feedzy-rss-feeds-ui-lang.php:132 #: includes/admin/feedzy-rss-feeds-ui-lang.php:193 #: includes/admin/feedzy-rss-feeds-ui-lang.php:212 -#: includes/admin/feedzy-rss-feeds-ui-lang.php:248 -#: includes/admin/feedzy-rss-feeds-ui-lang.php:289 +#: includes/admin/feedzy-rss-feeds-ui-lang.php:256 +#: includes/admin/feedzy-rss-feeds-ui-lang.php:297 msgid "Yes" msgstr "" #: includes/admin/feedzy-rss-feeds-ui-lang.php:136 #: includes/admin/feedzy-rss-feeds-ui-lang.php:197 #: includes/admin/feedzy-rss-feeds-ui-lang.php:216 -#: includes/admin/feedzy-rss-feeds-ui-lang.php:252 -#: includes/admin/feedzy-rss-feeds-ui-lang.php:293 +#: includes/admin/feedzy-rss-feeds-ui-lang.php:260 +#: includes/admin/feedzy-rss-feeds-ui-lang.php:301 msgid "No" msgstr "" @@ -184,88 +192,91 @@ msgstr "" msgid "(eg: news, sports etc.)" msgstr "" +#: includes/admin/feedzy-rss-feeds-ui-lang.php:235 +msgid "" +"Exclude items if title or content contains specific keyword(s) " +"(comma-separated list/case sensitive). " +msgstr "" + #: includes/admin/feedzy-rss-feeds-ui-lang.php:236 +msgid "(eg: politics, gossip etc.)" +msgstr "" + +#: includes/admin/feedzy-rss-feeds-ui-lang.php:244 msgid "Item Image Options" msgstr "" -#: includes/admin/feedzy-rss-feeds-ui-lang.php:239 +#: includes/admin/feedzy-rss-feeds-ui-lang.php:247 msgid "Should we display the first image of the content if it is available?" msgstr "" -#: includes/admin/feedzy-rss-feeds-ui-lang.php:258 +#: includes/admin/feedzy-rss-feeds-ui-lang.php:266 msgid "Default thumbnail URL if no image is found." msgstr "" -#: includes/admin/feedzy-rss-feeds-ui-lang.php:259 +#: includes/admin/feedzy-rss-feeds-ui-lang.php:267 msgid "Image URL" msgstr "" -#: includes/admin/feedzy-rss-feeds-ui-lang.php:263 +#: includes/admin/feedzy-rss-feeds-ui-lang.php:271 msgid "Select from Gallery" msgstr "" -#: includes/admin/feedzy-rss-feeds-ui-lang.php:267 +#: includes/admin/feedzy-rss-feeds-ui-lang.php:275 msgid "Thumblails dimension. Do not include \"px\". Eg: 150" msgstr "" -#: includes/admin/feedzy-rss-feeds-ui-lang.php:268 +#: includes/admin/feedzy-rss-feeds-ui-lang.php:276 msgid "(eg: 150)" msgstr "" -#: includes/admin/feedzy-rss-feeds-ui-lang.php:275 +#: includes/admin/feedzy-rss-feeds-ui-lang.php:283 msgid "PRO Options" msgstr "" -#: includes/admin/feedzy-rss-feeds-ui-lang.php:276 +#: includes/admin/feedzy-rss-feeds-ui-lang.php:284 msgid "" "Get access to more options and customizations with full version of Feedzy " "RSS Feeds . Use existing templates or extend them and make them your own." msgstr "" -#: includes/admin/feedzy-rss-feeds-ui-lang.php:276 +#: includes/admin/feedzy-rss-feeds-ui-lang.php:284 msgid "See more features of Feedzy RSS Feeds " msgstr "" -#: includes/admin/feedzy-rss-feeds-ui-lang.php:279 +#: includes/admin/feedzy-rss-feeds-ui-lang.php:287 msgid "Should we display the price from the feed if it is available?" msgstr "" -#: includes/admin/feedzy-rss-feeds-ui-lang.php:279 -#: includes/admin/feedzy-rss-feeds-ui-lang.php:299 -#: includes/admin/feedzy-rss-feeds-ui-lang.php:306 -#: includes/admin/feedzy-rss-feeds-ui-lang.php:313 -msgid "Premium" -msgstr "" - -#: includes/admin/feedzy-rss-feeds-ui-lang.php:299 +#: includes/admin/feedzy-rss-feeds-ui-lang.php:307 msgid "Referral URL parameters (w/o \"?\")." msgstr "" -#: includes/admin/feedzy-rss-feeds-ui-lang.php:300 +#: includes/admin/feedzy-rss-feeds-ui-lang.php:308 msgid "(eg. promo_code=feedzy_is_awesome)" msgstr "" -#: includes/admin/feedzy-rss-feeds-ui-lang.php:306 +#: includes/admin/feedzy-rss-feeds-ui-lang.php:314 msgid "How many columns we should use to display the feed items" msgstr "" -#: includes/admin/feedzy-rss-feeds-ui-lang.php:307 +#: includes/admin/feedzy-rss-feeds-ui-lang.php:315 msgid "(eg. 1, 2, ..., 6)" msgstr "" -#: includes/admin/feedzy-rss-feeds-ui-lang.php:313 +#: includes/admin/feedzy-rss-feeds-ui-lang.php:321 msgid "Template to use when displaying the feed." msgstr "" -#: includes/admin/feedzy-rss-feeds-ui-lang.php:319 +#: includes/admin/feedzy-rss-feeds-ui-lang.php:327 msgid "Default" msgstr "" -#: includes/admin/feedzy-rss-feeds-ui-lang.php:323 +#: includes/admin/feedzy-rss-feeds-ui-lang.php:331 msgid "Style 1" msgstr "" -#: includes/admin/feedzy-rss-feeds-ui-lang.php:327 +#: includes/admin/feedzy-rss-feeds-ui-lang.php:335 msgid "Style 2" msgstr "" diff --git a/package.json b/package.json index c3df986a..a1dcd566 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "feedzy-rss-feeds", - "version": "3.0.2", + "version": "3.0.3", "description": "FEEDZY RSS Feeds is a small and lightweight RSS aggregator plugin", "repository": { "type": "git", diff --git a/readme.txt b/readme.txt index 9180a34d..7e3ffe79 100755 --- a/readme.txt +++ b/readme.txt @@ -31,14 +31,16 @@ The plugin uses the SimplePie php CLASS natively included in WordPress. SimplePi FEEDZY RSS Feeds therefore supports any additional library and uses only the bare minimum to ensure good performance (minimalistic CSS + cache). This will ensure compatibility with any hosting provider that supports WordPress, but if for any reason it doesn't work for yours feel free to contact us. - = ** See how Feedzy can integrate with your website ** = + = See how Feedzy can integrate with your website = - * [Shop feed – 2 columns layout](https://demo.themeisle.com/feedzy-rss-feeds/shop-feed/) - * [Large image square grid – 2 columns layout](https://demo.themeisle.com/feedzy-rss-feeds/2-columns-large-images-square-grid/) - * [Square grid template – 2 columns layout](https://demo.themeisle.com/feedzy-rss-feeds/square-template/) - * [Round grid templates – 2 columns layout](https://demo.themeisle.com/feedzy-rss-feeds/round-grid-template/) - * [Standard grid layout – 2 columns layout](https://demo.themeisle.com/feedzy-rss-feeds/grid-layout-feed-items/) - * [Blog layout – 1 column layout](https://demo.themeisle.com/feedzy-rss-feeds/blog-layout/) + + +* [Shop feed – 3 columns layout](https://demo.themeisle.com/feedzy-rss-feeds/shop-feed/) +* [Large image square grid – 2 columns layout](https://demo.themeisle.com/feedzy-rss-feeds/2-columns-large-images-square-grid/) +* [Square grid template – 3 columns layout](https://demo.themeisle.com/feedzy-rss-feeds/square-template/) +* [Round grid templates – 3 columns layout](https://demo.themeisle.com/feedzy-rss-feeds/round-grid-template/) +* [Standard grid layout – 2 columns layout](https://demo.themeisle.com/feedzy-rss-feeds/grid-layout-feed-items/) +* [Blog layout – 1 column layout](https://demo.themeisle.com/feedzy-rss-feeds/blog-layout/) You may use this plugin in your widgets and your pages and reuse the shortcode + widget several times within the same page. @@ -128,6 +130,23 @@ Yes it is. You have to check first if your feed is valid. Please test it here: https://validator.w3.org/feed/ += Other useful custom codes = + +[How to change cache lifetime for a specific feed]( http://docs.themeisle.com/article/547-how-to-change-cache-lifetime-for-a-specific-feed ) +[How to change thumbs size and aspect ratio]( http://docs.themeisle.com/article/551-how-to-change-thumbs-size-and-aspect-ratio ) +[What hooks and filters are available in Feedzy]( http://docs.themeisle.com/article/540-what-hooks-and-filters-are-available-in-feedzy ) +[How to change the blacklist image name]( http://docs.themeisle.com/article/552-how-to-change-the-blacklist-image-name ) +[How to decode item title]( http://docs.themeisle.com/article/548-how-to-decode-item-title-with ) +[How to remove featured image from blog feed]( http://docs.themeisle.com/article/554-how-to-remove-featured-image-from-blog-feed ) +[How to keep html in feed items content]( http://docs.themeisle.com/article/542-how-to-keep-html-in-feed-items-content ) +[How to remove plugin css]( http://docs.themeisle.com/article/545-how-to-remove-plugin-css ) +[How to use your own inline css]( http://docs.themeisle.com/article/546-how-to-use-your-own-inline-css ) +[How to remove links]( http://docs.themeisle.com/article/541-how-to-remove-links ) +[How to add a read more link]( http://docs.themeisle.com/article/544-how-to-add-a-read-more-link ) +[How to remove time from publication date]( http://docs.themeisle.com/article/553-how-to-remove-time-from-publication-date ) +[How to handle publication date and author content]( http://docs.themeisle.com/article/549-how-to-handle-time-and-date-content ) +[How to display items in a random order]( http://docs.themeisle.com/article/550-how-to-display-items-in-a-random-order ) +[How to remove the end hellip]( http://docs.themeisle.com/article/543-how-to-remove-the-end-hellip ) == Screenshots == @@ -139,6 +158,10 @@ You have to check first if your feed is valid. Please test it here: https://vali == Changelog == += 3.0.3 - 06/01/2017 = +* Fixed blog feed feature image filter +* Improved documentation and examples + = 3.0.2 - 06/01/2017 = * Fixed default class back