=== TwitchPress === Contributors: Ryan Bayne Donate link: https://www.patreon.com/twitchpress License: GPLv3 License URI: http://www.gnu.org/licenses/gpl-3.0.html Tags: Twitch, Twitch.tv, Twitch Channel, Twitch Embed, Twitch Stream, Twitch API, TwitchPress Requires at least: 4.9 Tested up to: 5.2 Stable tag: 3.3.2 Requires PHP: 5.6 Unofficial Twitch.tv power-up for your WordPress! == Description == Forge the ultimate tool in your quest to attract viewers using the power of Twitch and WordPress combined. This is the ultimate recipe - fusing the purple Twitch API energy with the power of a Content Management Solution like WP. TwitchPress is unofficial and has not been endorsed by Twitch Interactive, Inc. Use of this plugin requires the full understanding and acceptance of Twitch Interactive, Inc. terms of service. = Links = * Blog * GitHub * Developers Twitter * TwitchPress Twitter * Authors Twitch * Discord Chat * Patreon Pledges * PayPal Donations = Features List = * Sign-In Via Twitch * Various shortcodes * Registration Via Twitch * Embed Live Streams * Embed Live Chat * Helix (API v6) supported = Pro Upgrade = Pro level development access is giving to anyone who supports the project and is a reward for contributions. There are no sales but you can upgrade by... * Pledging a small amount on Patreon.com * Create a video tutorial * Provide a video of a fault * Rewarded for good bug reports * Promote on established channels* == Installation == 1. Method 1: Move folder inside the .zip file into the "wp-content/plugins/" directory if your website is stored locally. Then upload the new plugin folder using your FTP program. 1. Method 2: Use your hosting control panels file manager to upload the plugin folder (not the .zip, only the folder inside it) to the "wp-content/plugins/" directory. 1. Method 3: In your WordPress admin click on Plugins then click on Add New. You can search for your plugin there and perform the installation easily. This method does not apply to premium plugins. == Frequently Asked Questions == = Can I hire you to customize the plugin for me? = Yes you can pay the plugin author to improve the plugin to suit your needs. Many improvements will be done free so post your requirements on the plugins forum first. == Screenshots == 1. Custom list of plugins for bulk installation and activation. 2. Example of how the WP admin is fully used. Help tab can be available on any page. 3. Security feature that helps to detect illegal entry of administrator accounts into the database. == Languages == Translator needed to localize the Channel Solution for Twitch. == Upgrade Notice == If your Twitch.tv app is old or you have login issues please create new application credentials. Then update TwitchPress by completing the Setup Wizard. == Changelog == = 3.3.2 Released 11th November 2019 = * Faults Resolved - TTFB improved by reducing the number of API token calls during WP header loading which allows the page to load quicker * Feature Improvements - New action link appears on Plugins view titled "Pro Edition" when pro folder is present * Technical Notes - Performance has been improved - Uses of TwitchPress() replaced due to repeat __construct() usage possible causing performance loss - Work still ongoing to improve TTFB on the frontend - involves performing more calls nearer PHP shutdown (WP footer) * Configuration Advice - None * Database Changes - None = 3.3.1 Released 5th November 2019 = * Faults Resolved - None * Feature Improvements - None * Technical Notes - save_subscriber() in sync class replaced with function twitchpres_save_subscriber_post() - None systematic data syncing is being separated from the systematic data sync class - New function twitchpress_sync_user_on_registration() added to automatic registration during shortcode login * Configuration Advice - None * Database Changes - None = 3.3.0 Released 4th November 2019 = * Faults Resolved - None * Feature Improvements - Shortcode connect to twitch will send visitor to the original page if registered - this ensures friendly output actually happens - New Users Login and Registration option to prevent TwitchPress doing any redirects on login/registration * Technical Notes - Default redirect location for shortcode login is the page displaying the connect to Twitch button * Configuration Advice - None * Database Changes - None = 3.2.0 Released 4th November 2019 = * Faults Resolved - Login and Registration issued related to the transition from Kraken to Helix - Streamlabs token now updates in API settings * Feature Improvements - None * Technical Notes - Changed uses of Streamlabs token from "default_token" to "default_access_token" * Configuration Advice - None * Database Changes - None = 3.1.1 Released 24th October = * Faults Resolved - Some admin notices were not being displayed - Frequent error released in 3.1.0 * Feature Improvements - Less notices need to be dismissed (less annoying notices) * Technical Notes - BugNet does not run init() until user runs BugNet installation. - Moved output_custom_notices() add_action call to the init() of the TwitchPress_Admin_Notices() class - Added self::remove_notice( $notice ) to output_custom_notices() and removed dismissable line from notice HTML * Configuration Advice - None * Database Changes - None = 3.1.0 Released 22nd October 2019 = * Faults Resolved - UM plugin now detected * Feature Improvements - BugNet section moved from General settings to a BugNet tab (plans for most settings) - BugNet now requires initial activation which installs new tables for collecting key monitoring data * Technical Notes - Database work has begun for the first time and within the BugNet package - New listener and post processing approach being developed for Streamlabs admin oAuth - Streamlabs API is_app_set() now only returns boolean and not an array of missing app credentials. * Configuration Advice - None * Database Changes - Using BugNet may install tables depending on features used 3.0.2: Beta Released 15th September = * Faults Resolved - Undefined $transient (was never reported) * Feature Improvements - None * Technical Notes - Added a default style to connect_button_style_one() * Configuration Advice - None * Database Changes - None = 3.0.1: Beta Released 15th September = * Faults Resolved - Uncaught Error: Call to undefined method TwitchPress_Twitch_API::is_app_set() * Feature Improvements - None * Technical Notes - None * Configuration Advice - None * Database Changes - None = 3.0.0: Beta Released 14th September = * Bugfixes - Kraken no longer operates fully so switched plugins default to Helix (its time) - Corrected variable in new follower syncing - Login using Twitch on WP core form has been fixed in this pro edition (same changes going to original edition) - New posts will no longer default to a locked state based on the "none" value in the meta menu - Changed twitchfeed_rewrite_slug to twitchchannels_rewrite_slug in channels post type - Login bug fix related to new Helix endpoints incorrect use * Feature Changes - Services step in wizard makes it clearer that services are third-party and not part of the TwitchPress project - New installations new default to Twitch API version 6 (Helix) while version 5 now causes errors and is no longer supported - Development started on clips shortcode [twitchpress_shortcodes shortcode="clips_gallery" style="basic" type="latest" channel_name="Ninja"] - New shortcode: [twitchpress_shortcodes shortcode="channel_list" type="team" team="test" style="shutters" refresh="60"] - New Twitch subscriber gate features (requires much testing to confirm sub syncing works smoothly) - Any post/page can have a basic (more to come) follower requirement applied - Any post/page can have a basic (lots more to come) susbcriber requirement applied - Removed feed tool from admin menu - Custom post type for channels is no longer "twitchchannels" and just "channels" - New shortcode for outputing live stream data - tested in working - Testing required on new shortcode for outputting bits leaderboard - see Discord - New clips shortcode - New bits leaderboard shortcode - New game shortcode - Improved CSS/Styling for shortcode login button - Improved CSS/Styling for WP login form button - New public notice output for shortcode login * Technical Changes - HTML escaping (security) applied to TwitchPress_Shortcode_Channel_List() - Pro update approach applied with extended development going into a new "pro" folder - The new channel list shortcode loads far quicker due to multiple API calls being reduced to one - Function twitchpress_shortcode_init() moved to shortcodes.php file to make the design easier to understand - Standard user sync now includes follower (to main channel) status - New set_accept_header() now sets the Accept header if not set in primary API method - New advanced channel list shortcode has been started (a lot more to be added to it) - Note: systems approach has been replaced with more class files - Moved login settings from login-by-shortcode.php to settings-users.php - Corrected text from "Feed channels list" to "Channels list" in custom post type - Added new "custom" folder to includes for custom post type classes - Moved post-type-perks.php to new "custom" folder - Class TwitchPress_Post_types() renamed to TwitchPress_Post_Type_Channel() - Renamed file post-typese.php to post-type-channels.php - Commented out a use of flush_rewrite_rules() in admin-settings.php - Commented out add_action() line calling flush_rewrite_rules in post-type-channels.php - Commented out add_action line calling flush_rewrite_rules in post-type-perks.php - Removed delete_option( 'twitchpress_visitor_scope_channel_feed_read' ) - Removed delete_option( 'twitchpress_visitor_scope_channel_feed_edit' ) - Removed delete_option( 'twitchpress_scope_channel_feed_edit' ) - Removed delete_option( 'twitchpress_scope_channel_feed_read' ) - Removed $arr[ 'twitchpress_serviceswitch_feeds_posttofeed' ] = array(); - Removed $arr[ 'twitchpress_serviceswitch_feeds_scheduledposts' ] = array(); - Removed $arr[ 'twitchpress_serviceswitch_feeds_prependappend' ] = array(); - Removed $arr[ 'twitchpress_remove_feed_posts' ] = array(); - Removed $arr[ 'twitchpress_apply_feed_sync_limits' ] = array(); - Removed $arr[ 'twitchpress_feed_sync_limit_hourly' ] = array(); - Removed $arr[ 'twitchpress_feed_sync_channel_limit_daily' ] = array(); - Removed $arr[ 'twitchpress_shareable_posttype_twitchfeed' ] = array(); - Deleted class.twitchpress-settings-feeds.php - Removed function twitchpress_activate_channel_feedtowp_sync() - Removed function twitchpress_prepare_post_to_feed_content() - Removed line "'feed' => twitchpress_kraken_endpoints_feed()" - Removed function second_level_feed_tools() - Plugin registration hook moved to main file to improve installation procedure - Plugin deactivation hook moved to main file to improve uninstallation procedure - Custom post type for channels is no longer "twitchchannels" and just "channels" * Configuration - No changes * Database - No changes = When To Update = Browse the changes log and decide if an update is required. There is nothing wrong with skipping version if it does not help you - look for security related changes or new features that could really benefit you. If you do not see any you may want to avoid updating. If you decide to apply the new version - do so after you have backedup your entire WordPress installation (files and data). Files only or data only is not a suitable backup. Every WordPress installation is different and creates a different environment for WTG Task Manager - possibly an environment that triggers faults with the new version of this software. This is common in software development and it is why we need to make preparations that allow reversal of major changes to our website. == Contributors == Donators, GitHub contributors and developers who support me when working on TwitchPress will be listed here. * nookyyy - A popular Twitch.tv streamer who done half of the testing. * IBurn36360 - Author of the main Twitch API class on GitHub. * Automattic - The plugins initial design is massively based on their work. * Ashley Rich - I used a great class by Ashley (Username A5shleyRich). == Version Numbers and Updating == Explanation of versioning used by myself Ryan Bayne. The versioning scheme I use is called "Semantic Versioning 2.0.0" and more information about it can be found at http://semver.org/ These are the rules followed to increase the TwitchPress plugin version number. Given a version number MAJOR.MINOR.PATCH, increment the: MAJOR version when you make incompatible API changes, MINOR version when you add functionality in a backwards-compatible manner, and PATCH version when you make backwards-compatible bug fixes. Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.