Version Description
- Released on 10/03/2018
- NEW: Skip to Position in Player shortcode, quickly skip to a position in your audio episodes from your show notes. e.g.
[skipto time="2:34"]
Learn more - MEW: Emoji in show notes! You can now enter Emoji characters into the show notes to appear in podcast apps. Enable option in Feed settings tab. Previously WordPress converst Emoji to images which are not displayed in podcast apps. Learn more
- Added option to override the Google Podcasts subscribe URL.
- Enhanced VideoObject, a feature in Podcasting SEO.
- Improved base64 encoding Google Podcasts Subscribe URLs. (Thanks Daniel Lewis for the heads up!)
- Removed option
Append show title to episode titles
per request from Apple.
Download this release
Release Info
Developer | amandato |
Plugin | ![]() |
Version | 7.4 |
Comparing to | |
See all releases |
Code changes from version 7.3 to 7.4
- feed-podcast.php +7 -4
- player.js +21 -2
- player.min.js +8 -1
- powerpress-player.php +75 -11
- powerpress-subscribe.php +16 -3
- powerpress.php +24 -31
- powerpressadmin-basic.php +5 -5
- powerpressadmin-editfeed.php +26 -3
- powerpressadmin-import-feed.php +1 -0
- powerpressadmin-notifications.php +0 -3
- powerpressadmin-rss-import.php +3 -1
- powerpressadmin-search.php +1 -16
- readme.txt +16 -3
- views/settings_tab_appearance.php +23 -4
- views/settings_tab_destinations.php +32 -9
feed-podcast.php
CHANGED
@@ -26,10 +26,13 @@
|
|
26 |
$content = strip_shortcodes( $content );
|
27 |
$content = str_replace(']]>', ']]>', $content);
|
28 |
|
29 |
-
if( function_exists('_oembed_filter_feed_content') )
|
30 |
-
return
|
31 |
-
|
32 |
-
|
|
|
|
|
|
|
33 |
return $content;
|
34 |
}
|
35 |
|
26 |
$content = strip_shortcodes( $content );
|
27 |
$content = str_replace(']]>', ']]>', $content);
|
28 |
|
29 |
+
if( function_exists('_oembed_filter_feed_content') ) // WP 4.4+
|
30 |
+
return ( _oembed_filter_feed_content( $content ) );
|
31 |
+
|
32 |
+
//if( function_exists('wp_encode_emoji') ) { // WP 4.2+
|
33 |
+
// return wp_encode_emoji( $content );
|
34 |
+
//}
|
35 |
+
|
36 |
return $content;
|
37 |
}
|
38 |
|
player.js
CHANGED
@@ -1,13 +1,14 @@
|
|
1 |
/**
|
2 |
-
* jsMediaPlayer 1.
|
3 |
*
|
4 |
* http://www.blubrry.com/powepress/
|
5 |
*
|
6 |
-
* Copyright (c) 2008-
|
7 |
*
|
8 |
* Released under Aoache 2 license:
|
9 |
* http://www.apache.org/licenses/LICENSE-2.0
|
10 |
*
|
|
|
11 |
* version 1.6.0 - 06/14/2017 - Added code to deal with IE/Edge preloading media for the mediaelement.js player. Removed windows media player support.
|
12 |
* version 1.5.0 - 04/23/2016 - Removed pp_embed_quicktime function (Preventive measure due to security issues with Quicktime) and removed pp_embed_swf, and show embed function enhanced to toggle.
|
13 |
* version 1.4.0 - 09/08/2015 - Removed the pp_flashembed function (we are no longer using flash for fallback).
|
@@ -178,3 +179,21 @@ function powerpress_onload() {
|
|
178 |
if ( window.navigator.userAgent.match( /(MSIE|Edge|Trident)\//i ) !== null && window.addEventListener) {
|
179 |
window.addEventListener('load', powerpress_onload, false);
|
180 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
/**
|
2 |
+
* jsMediaPlayer 1.7.0 for Blubrry PowerPress
|
3 |
*
|
4 |
* http://www.blubrry.com/powepress/
|
5 |
*
|
6 |
+
* Copyright (c) 2008-2018 Angelo Mandato (angelo [at] mandato {period} com)
|
7 |
*
|
8 |
* Released under Aoache 2 license:
|
9 |
* http://www.apache.org/licenses/LICENSE-2.0
|
10 |
*
|
11 |
+
* version 1.1.0 - 09/29/2018 - Added skip to position in player code
|
12 |
* version 1.6.0 - 06/14/2017 - Added code to deal with IE/Edge preloading media for the mediaelement.js player. Removed windows media player support.
|
13 |
* version 1.5.0 - 04/23/2016 - Removed pp_embed_quicktime function (Preventive measure due to security issues with Quicktime) and removed pp_embed_swf, and show embed function enhanced to toggle.
|
14 |
* version 1.4.0 - 09/08/2015 - Removed the pp_flashembed function (we are no longer using flash for fallback).
|
179 |
if ( window.navigator.userAgent.match( /(MSIE|Edge|Trident)\//i ) !== null && window.addEventListener) {
|
180 |
window.addEventListener('load', powerpress_onload, false);
|
181 |
}
|
182 |
+
|
183 |
+
function powerpress_stp(e) {
|
184 |
+
e.preventDefault();
|
185 |
+
var ct = e.currentTarget;
|
186 |
+
var p= ( ct.hasAttribute("data-pp-stp") ? ct.getAttribute("data-pp-stp") : 0 ),
|
187 |
+
play =( ct.hasAttribute("data-pp-player") ? ct.getAttribute("data-pp-player") : '' );
|
188 |
+
if( play == '' ) return;
|
189 |
+
var d = document.getElementById(play);
|
190 |
+
if( d === null ) return;
|
191 |
+
if( d.tagName == 'AUDIO' || d.tagName == 'MEDIAELEMENTWRAPPER' ) {
|
192 |
+
d.currentTime=p;
|
193 |
+
d.play();
|
194 |
+
} else if( d.tagName == 'IFRAME' ) {
|
195 |
+
d.contentWindow.postMessage(p,'*');
|
196 |
+
}
|
197 |
+
|
198 |
+
return false;
|
199 |
+
}
|
player.min.js
CHANGED
@@ -1 +1,8 @@
|
|
1 |
-
function powerpress_show_embed(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
function powerpress_show_embed(b){document.getElementById("powerpress_embed_"+b)&&("block"==document.getElementById("powerpress_embed_"+b).style.display?document.getElementById("powerpress_embed_"+b).style.display="none":(document.getElementById("powerpress_embed_"+b).style.display="block",document.getElementById("powerpress_embed_"+b+"_t").select()));return!1}
|
2 |
+
function powerpress_embed_html5v(b,a,g,e,d){if(document.getElementById("powerpress_player_"+b)){var h="";if(document.getElementById("powerpress_player_"+b).getElementsByTagName){var c=document.getElementById("powerpress_player_"+b).getElementsByTagName("img");c.length&&c[0].src&&(h=c[0].src)}var l="video/mp4";-1<a.indexOf(".webm")&&(l="video/webm");if(-1<a.indexOf(".ogg")||-1<a.indexOf(".ogv"))l="video/ogg";c=document.createElement("video");var f=!1;if(c.canPlayType){var k=c.canPlayType(l);"probably"==
|
3 |
+
k||"maybe"==k?f=!0:d&&(k=c.canPlayType("video/webm"),"probably"==k||"maybe"==k)&&(f=!0)}if(f)return f=document.createElement("source"),c.width=g,c.height=e,c.controls=!0,h&&(c.poster=h),f.src=a,f.type=l,c.appendChild(f),d&&(a=document.createElement("source"),a.src=d,a.type='video/webm; codecs="vp8, vorbis"',c.appendChild(a)),document.getElementById("powerpress_player_"+b).innerHTML="",document.getElementById("powerpress_player_"+b).appendChild(c),c.play(),window.powerpress_resize_player&&powerpress_resize_player(),
|
4 |
+
!1}return!0}
|
5 |
+
function powerpress_embed_html5a(b,a){if(document.getElementById("powerpress_player_"+b)){document.getElementById("powerpress_player_"+b).getElementsByTagName&&document.getElementById("powerpress_player_"+b).getElementsByTagName("img");var g="audio/mpeg";-1<a.indexOf(".m4a")&&(g="audio/x-m4a");if(-1<a.indexOf(".ogg")||-1<a.indexOf(".oga"))g="audio/ogg";var e=document.createElement("audio"),d=!1;if(e.canPlayType){var h=e.canPlayType(g);if("probably"==h||"maybe"==h)d=!0}if(d)return d=document.createElement("source"),e.controls=
|
6 |
+
!0,d.src=a,d.type=g,e.appendChild(d),document.getElementById("powerpress_player_"+b).innerHTML="",document.getElementById("powerpress_player_"+b).appendChild(e),e.play(),!1}return!0}
|
7 |
+
function powerpress_onload(){var b=document.getElementsByTagName("audio");for(i in b)b[i].addEventListener("play",function(a){a=this.src.match(/media.(blubrry|rawvoice).(net|biz|com)\/[a-zA-Z_]{3,30}\/p\//i);0<a.length&&(this.pause(),this.src=this.src.replace(a[0],a[0].replace("/p/","/e/")),this.load(),this.play())},!0)}null!==window.navigator.userAgent.match(/(MSIE|Edge|Trident)\//i)&&window.addEventListener&&window.addEventListener("load",powerpress_onload,!1);
|
8 |
+
function powerpress_stp(b){b.preventDefault();var a=b.currentTarget;b=a.hasAttribute("data-pp-stp")?a.getAttribute("data-pp-stp"):0;a=a.hasAttribute("data-pp-player")?a.getAttribute("data-pp-player"):"";if(""!=a&&(a=document.getElementById(a),null!==a))return"AUDIO"==a.tagName||"MEDIAELEMENTWRAPPER"==a.tagName?(a.currentTime=b,a.play()):"IFRAME"==a.tagName&&a.contentWindow.postMessage(b,"*"),!1};
|
powerpress-player.php
CHANGED
@@ -32,6 +32,8 @@ Initialize powerpress player handling
|
|
32 |
*/
|
33 |
function powerpressplayer_init($GeneralSettings)
|
34 |
{
|
|
|
|
|
35 |
if( !empty($GeneralSettings['seo_video_objects']) )
|
36 |
add_filter('powerpress_player', 'powerpressplayer_mediaobjects_video', 1, 3); // Before everythign is added
|
37 |
if( !empty($GeneralSettings['seo_audio_objects']) )
|
@@ -53,7 +55,6 @@ function powerpressplayer_init($GeneralSettings)
|
|
53 |
{
|
54 |
add_shortcode('display_podcast', 'powerpress_shortcode_handler');
|
55 |
}
|
56 |
-
|
57 |
/*
|
58 |
// include what's needed for each plaer
|
59 |
if( defined('POWERPRESS_JS_DEBUG') )
|
@@ -153,11 +154,13 @@ function powerpress_shortcode_handler( $attributes, $content = null )
|
|
153 |
}
|
154 |
else
|
155 |
{
|
156 |
-
do_action('wp_powerpress_player_scripts');
|
157 |
// If the shortcode specifies a channel, than we definitely want to include the player even if $EpisodeData['no_player'] is true...
|
158 |
-
if( !isset($EpisodeData['no_player']) )
|
|
|
159 |
$return = apply_filters('powerpress_player', '', powerpress_add_flag_to_redirect_url($EpisodeData['url'], 'p'), array('id'=>$post->ID,'feed'=>$channel, 'channel'=>$channel, 'image'=>$image, 'type'=>$EpisodeData['type'],'width'=>$width, 'height'=>$height) );
|
|
|
160 |
if( empty($EpisodeData['no_links']) ) {
|
|
|
161 |
$return .= apply_filters('powerpress_player_links', '', powerpress_add_flag_to_redirect_url($EpisodeData['url'], 'p'), $EpisodeData );
|
162 |
$return .= apply_filters('powerpress_player_subscribe_links', '', powerpress_add_flag_to_redirect_url($EpisodeData['url'], 'p'), $EpisodeData );
|
163 |
}
|
@@ -735,6 +738,7 @@ function powerpressplayer_mediaobjects($type, $content, $media_url, $EpisodeData
|
|
735 |
$addhtml .= '<meta itemprop="name" content="'. htmlspecialchars($post_title) .'" />'.PHP_EOL_WEB;
|
736 |
}
|
737 |
|
|
|
738 |
$addhtml .= '<meta itemprop="encodingFormat" content="'. powerpress_get_contenttype($media_url) .'" />'.PHP_EOL_WEB;
|
739 |
if( !empty($EpisodeData['duration']) ) {
|
740 |
$addhtml .= '<meta itemprop="duration" content="'. powerpress_iso8601_duration($EpisodeData['duration']) .'" />'.PHP_EOL_WEB; // http://en.wikipedia.org/wiki/ISO_8601#Durations
|
@@ -1029,9 +1033,7 @@ function powerpress_do_pinw($pinw, $process_podpress)
|
|
1029 |
<title><?php echo __('Blubrry PowerPress Player', 'powerpress'); ?></title>
|
1030 |
<meta name="robots" content="noindex" />
|
1031 |
<?php
|
1032 |
-
|
1033 |
do_action('wp_powerpress_player_scripts');
|
1034 |
-
|
1035 |
?>
|
1036 |
<style type="text/css">
|
1037 |
body { font-size: 13px; font-family: Arial, Helvetica, sans-serif; /* width: 100%; min-height: 100%; } html { height: 100%; */ }
|
@@ -1334,6 +1336,9 @@ function powerpressplayer_build_html5audio($media_url, $EpisodeData=array(), $em
|
|
1334 |
*/
|
1335 |
function powerpressplayer_build_blubrryaudio($media_url, $EpisodeData=array(), $embed = false )
|
1336 |
{
|
|
|
|
|
|
|
1337 |
// media URL is all we need., as long as it's hosted at blubrry.com...
|
1338 |
if( preg_match('/content\.blubrry\.com/', $media_url) )
|
1339 |
{
|
@@ -1347,9 +1352,9 @@ function powerpressplayer_build_blubrryaudio($media_url, $EpisodeData=array(), $
|
|
1347 |
$hash = '#'.$hash;
|
1348 |
}
|
1349 |
if( !empty($EpisodeData['episode_id']) ) {
|
1350 |
-
$url = '
|
1351 |
} else {
|
1352 |
-
$url = '
|
1353 |
if( !empty($EpisodeData['id']) ) {
|
1354 |
// Get permalink URL
|
1355 |
$permalink = get_permalink( $EpisodeData['id'] );
|
@@ -1364,7 +1369,16 @@ function powerpressplayer_build_blubrryaudio($media_url, $EpisodeData=array(), $
|
|
1364 |
|
1365 |
}
|
1366 |
$url = $url.$hash;
|
1367 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1368 |
}
|
1369 |
|
1370 |
return powerpressplayer_build_mediaelementaudio($media_url, $EpisodeData, $embed);
|
@@ -1405,13 +1419,23 @@ function powerpressplayer_build_mediaelementaudio($media_url, $EpisodeData=array
|
|
1405 |
|
1406 |
// Double check that WordPress is providing the shortcode...
|
1407 |
global $shortcode_tags;
|
|
|
1408 |
if( !defined('POWERPRESS_DO_SHORTCODE') ) { // && !empty($shortcode_tags['audio']) && is_string($shortcode_tags['audio']) && $shortcode_tags['audio'] == 'wp_audio_shortcode' ) {
|
1409 |
-
$
|
1410 |
} else {
|
1411 |
-
$
|
1412 |
}
|
1413 |
|
1414 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1415 |
return $content;
|
1416 |
}
|
1417 |
|
@@ -1684,4 +1708,44 @@ function powerpressplayer_build_videojs($media_url, $EpisodeData = array())
|
|
1684 |
return $content;
|
1685 |
}
|
1686 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1687 |
|
32 |
*/
|
33 |
function powerpressplayer_init($GeneralSettings)
|
34 |
{
|
35 |
+
add_shortcode('skipto', 'powerpress_shortcode_skipto'); // skipto shortcode
|
36 |
+
|
37 |
if( !empty($GeneralSettings['seo_video_objects']) )
|
38 |
add_filter('powerpress_player', 'powerpressplayer_mediaobjects_video', 1, 3); // Before everythign is added
|
39 |
if( !empty($GeneralSettings['seo_audio_objects']) )
|
55 |
{
|
56 |
add_shortcode('display_podcast', 'powerpress_shortcode_handler');
|
57 |
}
|
|
|
58 |
/*
|
59 |
// include what's needed for each plaer
|
60 |
if( defined('POWERPRESS_JS_DEBUG') )
|
154 |
}
|
155 |
else
|
156 |
{
|
|
|
157 |
// If the shortcode specifies a channel, than we definitely want to include the player even if $EpisodeData['no_player'] is true...
|
158 |
+
if( !isset($EpisodeData['no_player']) ) {
|
159 |
+
do_action('wp_powerpress_player_scripts');
|
160 |
$return = apply_filters('powerpress_player', '', powerpress_add_flag_to_redirect_url($EpisodeData['url'], 'p'), array('id'=>$post->ID,'feed'=>$channel, 'channel'=>$channel, 'image'=>$image, 'type'=>$EpisodeData['type'],'width'=>$width, 'height'=>$height) );
|
161 |
+
}
|
162 |
if( empty($EpisodeData['no_links']) ) {
|
163 |
+
do_action('wp_powerpress_player_scripts');
|
164 |
$return .= apply_filters('powerpress_player_links', '', powerpress_add_flag_to_redirect_url($EpisodeData['url'], 'p'), $EpisodeData );
|
165 |
$return .= apply_filters('powerpress_player_subscribe_links', '', powerpress_add_flag_to_redirect_url($EpisodeData['url'], 'p'), $EpisodeData );
|
166 |
}
|
738 |
$addhtml .= '<meta itemprop="name" content="'. htmlspecialchars($post_title) .'" />'.PHP_EOL_WEB;
|
739 |
}
|
740 |
|
741 |
+
$addhtml .= '<meta itemprop="uploadDate" content="'. get_the_date('c') .'" />'.PHP_EOL_WEB;
|
742 |
$addhtml .= '<meta itemprop="encodingFormat" content="'. powerpress_get_contenttype($media_url) .'" />'.PHP_EOL_WEB;
|
743 |
if( !empty($EpisodeData['duration']) ) {
|
744 |
$addhtml .= '<meta itemprop="duration" content="'. powerpress_iso8601_duration($EpisodeData['duration']) .'" />'.PHP_EOL_WEB; // http://en.wikipedia.org/wiki/ISO_8601#Durations
|
1033 |
<title><?php echo __('Blubrry PowerPress Player', 'powerpress'); ?></title>
|
1034 |
<meta name="robots" content="noindex" />
|
1035 |
<?php
|
|
|
1036 |
do_action('wp_powerpress_player_scripts');
|
|
|
1037 |
?>
|
1038 |
<style type="text/css">
|
1039 |
body { font-size: 13px; font-family: Arial, Helvetica, sans-serif; /* width: 100%; min-height: 100%; } html { height: 100%; */ }
|
1336 |
*/
|
1337 |
function powerpressplayer_build_blubrryaudio($media_url, $EpisodeData=array(), $embed = false )
|
1338 |
{
|
1339 |
+
static $instance = 0;
|
1340 |
+
$instance++;
|
1341 |
+
|
1342 |
// media URL is all we need., as long as it's hosted at blubrry.com...
|
1343 |
if( preg_match('/content\.blubrry\.com/', $media_url) )
|
1344 |
{
|
1352 |
$hash = '#'.$hash;
|
1353 |
}
|
1354 |
if( !empty($EpisodeData['episode_id']) ) {
|
1355 |
+
$url = 'https://player.blubrry.com/?podcast_id='. intval($EpisodeData['episode_id']);
|
1356 |
} else {
|
1357 |
+
$url = 'https://player.blubrry.com/?media_url='. urlencode($media_url);
|
1358 |
if( !empty($EpisodeData['id']) ) {
|
1359 |
// Get permalink URL
|
1360 |
$permalink = get_permalink( $EpisodeData['id'] );
|
1369 |
|
1370 |
}
|
1371 |
$url = $url.$hash;
|
1372 |
+
$playerID = sprintf('blubrryplayer-%d', $instance);
|
1373 |
+
|
1374 |
+
$feedSlug = 'podcast';
|
1375 |
+
if( !empty($EpisodeData['feed']) )
|
1376 |
+
$feedSlug = $EpisodeData['feed'];
|
1377 |
+
|
1378 |
+
if( empty($GLOBALS['powerpress_skipto_player'][ get_the_ID() ][ $feedSlug ] ) )
|
1379 |
+
$GLOBALS['powerpress_skipto_player'][ get_the_ID() ][ $feedSlug ] = $playerID;
|
1380 |
+
|
1381 |
+
return '<iframe src="'. $url .'" scrolling="no" width="100%" height="138px" frameborder="0" id="'. $playerID .'"></iframe>';
|
1382 |
}
|
1383 |
|
1384 |
return powerpressplayer_build_mediaelementaudio($media_url, $EpisodeData, $embed);
|
1419 |
|
1420 |
// Double check that WordPress is providing the shortcode...
|
1421 |
global $shortcode_tags;
|
1422 |
+
$player = '';
|
1423 |
if( !defined('POWERPRESS_DO_SHORTCODE') ) { // && !empty($shortcode_tags['audio']) && is_string($shortcode_tags['audio']) && $shortcode_tags['audio'] == 'wp_audio_shortcode' ) {
|
1424 |
+
$player .= wp_audio_shortcode( $attr );
|
1425 |
} else {
|
1426 |
+
$player .= do_shortcode( '[audio src="'. esc_attr($media_url) .'" autoplay="'. ( $autoplay ?'on':'') .'" loop="" preload="none"]');
|
1427 |
}
|
1428 |
|
1429 |
+
// Get the DIV id for this element
|
1430 |
+
$feedSlug = 'podcast';
|
1431 |
+
if( !empty($EpisodeData['feed']) )
|
1432 |
+
$feedSlug = $EpisodeData['feed'];
|
1433 |
+
|
1434 |
+
if( empty($GLOBALS['powerpress_skipto_player'][ get_the_ID() ][ $feedSlug ]) && preg_match('/\<audio.*id="([^"]*)"/i', $player, $matches) ) {
|
1435 |
+
$GLOBALS['powerpress_skipto_player'][ get_the_ID() ][ $feedSlug ] = $matches[1];
|
1436 |
+
}
|
1437 |
+
|
1438 |
+
$content .= $player .'</div>'.PHP_EOL_WEB;
|
1439 |
return $content;
|
1440 |
}
|
1441 |
|
1708 |
return $content;
|
1709 |
}
|
1710 |
|
1711 |
+
function powerpress_shortcode_skipto($attributes, $content = null)
|
1712 |
+
{
|
1713 |
+
$pos = '';
|
1714 |
+
if( isset($attributes['time']) ) {
|
1715 |
+
$pos = $attributes['time'];
|
1716 |
+
} else if (isset($attributes['timestamp'])) {
|
1717 |
+
$pos = $attributes['timestamp'];
|
1718 |
+
} else if (isset($attributes['ts'])) {
|
1719 |
+
$pos = $attributes['ts'];
|
1720 |
+
}
|
1721 |
+
|
1722 |
+
if( empty($pos) )
|
1723 |
+
return $content;
|
1724 |
+
|
1725 |
+
// Prepare data
|
1726 |
+
$timeInSeconds = powerpress_raw_duration($pos);
|
1727 |
+
$readableTime = powerpress_readable_duration($timeInSeconds);
|
1728 |
+
if( empty($content) )
|
1729 |
+
$content = $readableTime;
|
1730 |
+
|
1731 |
+
// We can't add players to feeds
|
1732 |
+
if( is_feed() )
|
1733 |
+
return $content;
|
1734 |
+
|
1735 |
+
$feedSlug = 'podcast';
|
1736 |
+
if( !empty($attributes['channel']) )
|
1737 |
+
$feedSlug = $attributes['channel'];
|
1738 |
+
|
1739 |
+
if( empty($GLOBALS['powerpress_skipto_player'][ get_the_ID() ][ $feedSlug ]) ) {
|
1740 |
+
if( function_exists('qed_stt_shortcode') ) { // If using the skip to timestamp plugin, we will fall back to it since we are not handling the player...
|
1741 |
+
return qed_stt_shortcode($attributes, $content);
|
1742 |
+
}
|
1743 |
+
|
1744 |
+
return $content;
|
1745 |
+
}
|
1746 |
+
|
1747 |
+
$playerID = $GLOBALS['powerpress_skipto_player'][ get_the_ID() ][ $feedSlug ];
|
1748 |
+
return '<a title="'. esc_attr(sprintf(__('Skip to %s', 'powerpress'), $readableTime)) .'" href="'. get_permalink() .'#" onclick="return powerpress_stp(event);" class="powerpress-skip-a" data-pp-stp="'. $timeInSeconds .'" data-pp-player="'. $playerID .'">'. $content .'</a>';
|
1749 |
+
}
|
1750 |
+
|
1751 |
|
powerpress-subscribe.php
CHANGED
@@ -288,7 +288,10 @@ function powerpressplayer_link_subscribe_pre($content, $media_url, $ExtraData =
|
|
288 |
|
289 |
if( !empty($SubscribeSettings['subscribe_feature_gp']) )
|
290 |
{
|
291 |
-
$SubscribeSettings['
|
|
|
|
|
|
|
292 |
$links_array[] = "<a href=\"". esc_attr($SubscribeSettings['googleplay_url'] ) ."\" class=\"powerpress_link_subscribe powerpress_link_subscribe_googleplay\" title=\"". __('Subscribe on Google Podcasts', 'powerpress') ."\" rel=\"nofollow\">". __('Google Podcasts','powerpress') ."</a>".PHP_EOL_WEB;
|
293 |
}
|
294 |
|
@@ -588,7 +591,12 @@ function powerpress_do_subscribe_widget($settings)
|
|
588 |
}
|
589 |
|
590 |
// Google Podcasts
|
591 |
-
$
|
|
|
|
|
|
|
|
|
|
|
592 |
|
593 |
|
594 |
if( !empty($settings['stitcher_url']) )
|
@@ -657,7 +665,12 @@ function powerpress_do_subscribe_sidebar_widget($settings)
|
|
657 |
}
|
658 |
|
659 |
if( !empty($settings['subscribe_feature_gp']) ) {
|
660 |
-
$
|
|
|
|
|
|
|
|
|
|
|
661 |
$html .= '<a href="'. esc_url( $gp_url ) .'" class="pp-ssb-btn pp-ssb-gp" title="'. esc_attr( __('Subscribe on Google Podcasts', 'powerpress') ) .'"><span class="pp-ssb-ic"></span>'. esc_html( __('on Google Podcasts', 'powerpress') ) .'</a>';
|
662 |
}
|
663 |
|
288 |
|
289 |
if( !empty($SubscribeSettings['subscribe_feature_gp']) )
|
290 |
{
|
291 |
+
if( !empty($SubscribeSettings['google_url']) )
|
292 |
+
$SubscribeSettings['googleplay_url'] =$SubscribeSettings['google_url'];
|
293 |
+
else
|
294 |
+
$SubscribeSettings['googleplay_url'] = 'https://www.google.com/podcasts?feed='. powerpress_base64_encode($feed_url);
|
295 |
$links_array[] = "<a href=\"". esc_attr($SubscribeSettings['googleplay_url'] ) ."\" class=\"powerpress_link_subscribe powerpress_link_subscribe_googleplay\" title=\"". __('Subscribe on Google Podcasts', 'powerpress') ."\" rel=\"nofollow\">". __('Google Podcasts','powerpress') ."</a>".PHP_EOL_WEB;
|
296 |
}
|
297 |
|
591 |
}
|
592 |
|
593 |
// Google Podcasts
|
594 |
+
$googleUrl = '';
|
595 |
+
if( !empty($settings['google_url']) )
|
596 |
+
$googleUrl = $settings['google_url'];
|
597 |
+
else
|
598 |
+
$googleUrl = 'https://www.google.com/podcasts?feed='. powerpress_base64_encode($settings['feed_url']);
|
599 |
+
$html .= '<a href="'. esc_url( $googleUrl ) .'" class="pp-sub-btn pp-sub-gp" title="'. esc_attr( __('Subscribe on Google Podcasts', 'powerpress') ) .'"><span class="pp-sub-ic"></span>'. esc_html( __('on Google Podcasts', 'powerpress') ) .'</a>';
|
600 |
|
601 |
|
602 |
if( !empty($settings['stitcher_url']) )
|
665 |
}
|
666 |
|
667 |
if( !empty($settings['subscribe_feature_gp']) ) {
|
668 |
+
$googleUrl = '';
|
669 |
+
if( !empty($settings['google_url']) )
|
670 |
+
$gp_url = $settings['google_url'];
|
671 |
+
else
|
672 |
+
$gp_url = 'https://www.google.com/podcasts?feed='.powerpress_base64_encode($settings['feed_url']);
|
673 |
+
|
674 |
$html .= '<a href="'. esc_url( $gp_url ) .'" class="pp-ssb-btn pp-ssb-gp" title="'. esc_attr( __('Subscribe on Google Podcasts', 'powerpress') ) .'"><span class="pp-ssb-ic"></span>'. esc_html( __('on Google Podcasts', 'powerpress') ) .'</a>';
|
675 |
}
|
676 |
|
powerpress.php
CHANGED
@@ -3,11 +3,11 @@
|
|
3 |
Plugin Name: Blubrry PowerPress
|
4 |
Plugin URI: http://create.blubrry.com/resources/powerpress/
|
5 |
Description: <a href="http://create.blubrry.com/resources/powerpress/" target="_blank">Blubrry PowerPress</a> is the No. 1 Podcasting plugin for WordPress. Developed by podcasters for podcasters; features include Simple and Advanced modes, multiple audio/video player options, subscribe to podcast tools, podcast SEO features, and more! Fully supports Apple Podcasts (previously iTunes), Google Podcasts, Spotify, Stitcher, and Blubrry Podcasting directories, as well as all podcast applications and clients.
|
6 |
-
Version: 7.
|
7 |
Author: Blubrry
|
8 |
Author URI: http://www.blubrry.com/
|
9 |
Requires at least: 3.6
|
10 |
-
Tested up to: 4.
|
11 |
Text Domain: powerpress
|
12 |
Change Log:
|
13 |
Please see readme.txt for detailed change log.
|
@@ -32,7 +32,7 @@ if( !function_exists('add_action') )
|
|
32 |
die("access denied.");
|
33 |
|
34 |
// WP_PLUGIN_DIR (REMEMBER TO USE THIS DEFINE IF NEEDED)
|
35 |
-
define('POWERPRESS_VERSION', '7.
|
36 |
|
37 |
// Translation support:
|
38 |
if ( !defined('POWERPRESS_ABSPATH') )
|
@@ -306,13 +306,9 @@ function powerpress_content($content)
|
|
306 |
}
|
307 |
else
|
308 |
{
|
309 |
-
if( !isset($EpisodeData['no_links']) || ($GeneralSettings['player_function'] != 3 && $GeneralSettings['player_function'] != 0) )
|
310 |
-
{
|
311 |
-
do_action('wp_powerpress_player_scripts');
|
312 |
-
}
|
313 |
-
|
314 |
if( $GeneralSettings['player_function'] != 3 && $GeneralSettings['player_function'] != 0 ) // Play in new window only or disabled
|
315 |
{
|
|
|
316 |
$AddDefaultPlayer = empty($EpisodeData['no_player']);
|
317 |
|
318 |
if( $EpisodeData && !empty($EpisodeData['embed']) )
|
@@ -333,6 +329,7 @@ function powerpress_content($content)
|
|
333 |
}
|
334 |
|
335 |
if( !isset($EpisodeData['no_links']) ) {
|
|
|
336 |
$new_content .= apply_filters('powerpress_player_links', '', powerpress_add_flag_to_redirect_url($EpisodeData['url'], 'p'), $EpisodeData );
|
337 |
$new_content .= apply_filters('powerpress_player_subscribe_links', '', powerpress_add_flag_to_redirect_url($EpisodeData['url'], 'p'), $EpisodeData );
|
338 |
}
|
@@ -1250,18 +1247,6 @@ function powerpress_the_title_rss($title)
|
|
1250 |
}
|
1251 |
}
|
1252 |
}
|
1253 |
-
|
1254 |
-
if( !empty($GeneralSettings['seo_append_show_title']) )
|
1255 |
-
{
|
1256 |
-
$title_of_program = get_wp_title_rss();
|
1257 |
-
|
1258 |
-
if( defined('POWERPRESS_APPEND_SHOW_TITLE_SEPARATOR') && POWERPRESS_APPEND_SHOW_TITLE_SEPARATOR )
|
1259 |
-
$new_title .= ' '. POWERPRESS_APPEND_SHOW_TITLE_SEPARATOR .' '.$title_of_program;
|
1260 |
-
else if( defined('POWERPRESS_APPEND_SHOW_TITLE_SEPARATOR') )
|
1261 |
-
$new_title .= ' '.$title_of_program;
|
1262 |
-
else
|
1263 |
-
$new_title .= ' - '.$title_of_program;
|
1264 |
-
}
|
1265 |
|
1266 |
return $new_title;
|
1267 |
}
|
@@ -1560,6 +1545,15 @@ function powerpress_init()
|
|
1560 |
array(),
|
1561 |
'20141021',
|
1562 |
'all' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1563 |
}
|
1564 |
|
1565 |
add_action('init', 'powerpress_init', -100); // We need to add the feeds before other plugins start screwing with them
|
@@ -2245,13 +2239,9 @@ function get_the_powerpress_content()
|
|
2245 |
}
|
2246 |
else
|
2247 |
{
|
2248 |
-
if( !isset($EpisodeData['no_links']) || ($GeneralSettings['player_function'] != 3 && $GeneralSettings['player_function'] != 0) )
|
2249 |
-
{
|
2250 |
-
do_action('wp_powerpress_player_scripts');
|
2251 |
-
}
|
2252 |
-
|
2253 |
if( $GeneralSettings['player_function'] != 3 && $GeneralSettings['player_function'] != 0 ) // Play in new window only or disabled
|
2254 |
{
|
|
|
2255 |
$AddDefaultPlayer = empty($EpisodeData['no_player']);
|
2256 |
|
2257 |
if( $EpisodeData && !empty($EpisodeData['embed']) )
|
@@ -2279,6 +2269,7 @@ function get_the_powerpress_content()
|
|
2279 |
|
2280 |
if( !isset($EpisodeData['no_links']) )
|
2281 |
{
|
|
|
2282 |
$new_content .= apply_filters('powerpress_player_links', '', powerpress_add_flag_to_redirect_url($EpisodeData['url'], 'p'), $EpisodeData );
|
2283 |
$new_content .= apply_filters('powerpress_player_subscribe_links', '', powerpress_add_flag_to_redirect_url($EpisodeData['url'], 'p'), $EpisodeData );
|
2284 |
}
|
@@ -2906,7 +2897,7 @@ function powerpress_add_redirect_url($MediaURL, $EpisodeData = false) // $channe
|
|
2906 |
$ValidRedirectDomainsPattern = '/^(media\.blubrry\.com|media\.rawvoice\.com|media\.techpodcasts\.com|.*\.podtrac\.com|traffic\.cast\.plus)$/';
|
2907 |
if( $URLScheme == 'https://' ) {
|
2908 |
$ValidRedirectDomains = array('media.blubrry.com', 'media.rawvoice.com', 'www.podtrac.com', 'podtrac.com'); // Only URLs that support https:// to an https:// media file
|
2909 |
-
$ValidRedirectDomainsPattern = '/^(media\.blubrry\.com|media\.rawvoice\.com|.*\.podtrac\.com)$/';
|
2910 |
}
|
2911 |
|
2912 |
$RedirectDomain = strtolower(substr($RedirectClean, 0, strpos($RedirectClean, '/') ));
|
@@ -3077,6 +3068,11 @@ function powerpress_repair_serialize($string)
|
|
3077 |
return $string;
|
3078 |
}
|
3079 |
|
|
|
|
|
|
|
|
|
|
|
3080 |
/*
|
3081 |
powerpress_get_post_meta()
|
3082 |
Safe function to retrieve corrupted PodPress data from the database
|
@@ -3387,17 +3383,14 @@ function get_the_powerpress_all_players($slug = false, $no_link=false)
|
|
3387 |
continue;
|
3388 |
}
|
3389 |
|
3390 |
-
if( !isset($EpisodeData['no_links']) || (!isset($EpisodeData['no_player']) && $AddDefaultPlayer) )
|
3391 |
-
{
|
3392 |
-
do_action('wp_powerpress_player_scripts');
|
3393 |
-
}
|
3394 |
-
|
3395 |
if( !isset($EpisodeData['no_player']) && $AddDefaultPlayer )
|
3396 |
{
|
|
|
3397 |
$return .= apply_filters('powerpress_player', '', powerpress_add_flag_to_redirect_url($EpisodeData['url'], 'p'), $EpisodeData );
|
3398 |
}
|
3399 |
if( !isset($EpisodeData['no_links']) && $no_link == false )
|
3400 |
{
|
|
|
3401 |
$return .= apply_filters('powerpress_player_links', '', powerpress_add_flag_to_redirect_url($EpisodeData['url'], 'p'), $EpisodeData );
|
3402 |
$return .= apply_filters('powerpress_player_subscribe_links', '', powerpress_add_flag_to_redirect_url($EpisodeData['url'], 'p'), $EpisodeData );
|
3403 |
}
|
3 |
Plugin Name: Blubrry PowerPress
|
4 |
Plugin URI: http://create.blubrry.com/resources/powerpress/
|
5 |
Description: <a href="http://create.blubrry.com/resources/powerpress/" target="_blank">Blubrry PowerPress</a> is the No. 1 Podcasting plugin for WordPress. Developed by podcasters for podcasters; features include Simple and Advanced modes, multiple audio/video player options, subscribe to podcast tools, podcast SEO features, and more! Fully supports Apple Podcasts (previously iTunes), Google Podcasts, Spotify, Stitcher, and Blubrry Podcasting directories, as well as all podcast applications and clients.
|
6 |
+
Version: 7.4
|
7 |
Author: Blubrry
|
8 |
Author URI: http://www.blubrry.com/
|
9 |
Requires at least: 3.6
|
10 |
+
Tested up to: 4.9.9
|
11 |
Text Domain: powerpress
|
12 |
Change Log:
|
13 |
Please see readme.txt for detailed change log.
|
32 |
die("access denied.");
|
33 |
|
34 |
// WP_PLUGIN_DIR (REMEMBER TO USE THIS DEFINE IF NEEDED)
|
35 |
+
define('POWERPRESS_VERSION', '7.4' );
|
36 |
|
37 |
// Translation support:
|
38 |
if ( !defined('POWERPRESS_ABSPATH') )
|
306 |
}
|
307 |
else
|
308 |
{
|
|
|
|
|
|
|
|
|
|
|
309 |
if( $GeneralSettings['player_function'] != 3 && $GeneralSettings['player_function'] != 0 ) // Play in new window only or disabled
|
310 |
{
|
311 |
+
do_action('wp_powerpress_player_scripts');
|
312 |
$AddDefaultPlayer = empty($EpisodeData['no_player']);
|
313 |
|
314 |
if( $EpisodeData && !empty($EpisodeData['embed']) )
|
329 |
}
|
330 |
|
331 |
if( !isset($EpisodeData['no_links']) ) {
|
332 |
+
do_action('wp_powerpress_player_scripts');
|
333 |
$new_content .= apply_filters('powerpress_player_links', '', powerpress_add_flag_to_redirect_url($EpisodeData['url'], 'p'), $EpisodeData );
|
334 |
$new_content .= apply_filters('powerpress_player_subscribe_links', '', powerpress_add_flag_to_redirect_url($EpisodeData['url'], 'p'), $EpisodeData );
|
335 |
}
|
1247 |
}
|
1248 |
}
|
1249 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1250 |
|
1251 |
return $new_title;
|
1252 |
}
|
1545 |
array(),
|
1546 |
'20141021',
|
1547 |
'all' );
|
1548 |
+
|
1549 |
+
if( !empty($GeneralSettings['rss_emoji']) ) {
|
1550 |
+
if( has_filter('the_content_feed', 'wp_staticize_emoji') ) {
|
1551 |
+
remove_filter( 'the_content_feed', 'wp_staticize_emoji' ); // Remove the emoji images
|
1552 |
+
remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );
|
1553 |
+
//add_filter( 'the_content_feed', 'wp_encode_emoji' ); // Convert an emoji to xxx;
|
1554 |
+
//add_filter( 'get_wp_title_rss', 'wp_encode_emoji' );
|
1555 |
+
}
|
1556 |
+
}
|
1557 |
}
|
1558 |
|
1559 |
add_action('init', 'powerpress_init', -100); // We need to add the feeds before other plugins start screwing with them
|
2239 |
}
|
2240 |
else
|
2241 |
{
|
|
|
|
|
|
|
|
|
|
|
2242 |
if( $GeneralSettings['player_function'] != 3 && $GeneralSettings['player_function'] != 0 ) // Play in new window only or disabled
|
2243 |
{
|
2244 |
+
do_action('wp_powerpress_player_scripts');
|
2245 |
$AddDefaultPlayer = empty($EpisodeData['no_player']);
|
2246 |
|
2247 |
if( $EpisodeData && !empty($EpisodeData['embed']) )
|
2269 |
|
2270 |
if( !isset($EpisodeData['no_links']) )
|
2271 |
{
|
2272 |
+
do_action('wp_powerpress_player_scripts');
|
2273 |
$new_content .= apply_filters('powerpress_player_links', '', powerpress_add_flag_to_redirect_url($EpisodeData['url'], 'p'), $EpisodeData );
|
2274 |
$new_content .= apply_filters('powerpress_player_subscribe_links', '', powerpress_add_flag_to_redirect_url($EpisodeData['url'], 'p'), $EpisodeData );
|
2275 |
}
|
2897 |
$ValidRedirectDomainsPattern = '/^(media\.blubrry\.com|media\.rawvoice\.com|media\.techpodcasts\.com|.*\.podtrac\.com|traffic\.cast\.plus)$/';
|
2898 |
if( $URLScheme == 'https://' ) {
|
2899 |
$ValidRedirectDomains = array('media.blubrry.com', 'media.rawvoice.com', 'www.podtrac.com', 'podtrac.com'); // Only URLs that support https:// to an https:// media file
|
2900 |
+
$ValidRedirectDomainsPattern = '/^(media\.blubrry\.com|media\.rawvoice\.com|.*\.podtrac\.com|traffic\.cast\.plus)$/';
|
2901 |
}
|
2902 |
|
2903 |
$RedirectDomain = strtolower(substr($RedirectClean, 0, strpos($RedirectClean, '/') ));
|
3068 |
return $string;
|
3069 |
}
|
3070 |
|
3071 |
+
|
3072 |
+
function powerpress_base64_encode($value)
|
3073 |
+
{
|
3074 |
+
return rtrim(strtr(base64_encode($value), '+/', '-_'), '=');
|
3075 |
+
}
|
3076 |
/*
|
3077 |
powerpress_get_post_meta()
|
3078 |
Safe function to retrieve corrupted PodPress data from the database
|
3383 |
continue;
|
3384 |
}
|
3385 |
|
|
|
|
|
|
|
|
|
|
|
3386 |
if( !isset($EpisodeData['no_player']) && $AddDefaultPlayer )
|
3387 |
{
|
3388 |
+
do_action('wp_powerpress_player_scripts');
|
3389 |
$return .= apply_filters('powerpress_player', '', powerpress_add_flag_to_redirect_url($EpisodeData['url'], 'p'), $EpisodeData );
|
3390 |
}
|
3391 |
if( !isset($EpisodeData['no_links']) && $no_link == false )
|
3392 |
{
|
3393 |
+
do_action('wp_powerpress_player_scripts');
|
3394 |
$return .= apply_filters('powerpress_player_links', '', powerpress_add_flag_to_redirect_url($EpisodeData['url'], 'p'), $EpisodeData );
|
3395 |
$return .= apply_filters('powerpress_player_subscribe_links', '', powerpress_add_flag_to_redirect_url($EpisodeData['url'], 'p'), $EpisodeData );
|
3396 |
}
|
powerpressadmin-basic.php
CHANGED
@@ -396,9 +396,9 @@ jQuery(document).ready( function() {
|
|
396 |
?>
|
397 |
</li>
|
398 |
<li><?php echo __('Tell the world about PowerPress by writing about it on your blog', 'powerpress'); ?>,
|
399 |
-
<a href="
|
400 |
-
<a href="
|
401 |
-
<a href="https://plus.google.com/share?url==<?php echo urlencode('
|
402 |
etc...</li>
|
403 |
<li><a href="http://www.blubrry.com/contact.php" target="_blank"><?php echo __('Send us feedback', 'powerpress'); ?></a> (<?php echo __('we love getting suggestions for new features!', 'powerpress'); ?>)</li>
|
404 |
</ul>
|
@@ -1545,11 +1545,11 @@ function powerpressadmin_edit_artwork($FeedSettings, $General)
|
|
1545 |
<p><strong><?php echo __('A square 3000 x 3000 pixel image in .jpg format is recommended.', 'powerpress'); ?></strong></p>
|
1546 |
|
1547 |
<p>
|
1548 |
-
<?php echo __('This image is for your listing on the
|
1549 |
</p>
|
1550 |
|
1551 |
<p class="description"><?php echo __('Note: If you change the iTunes image without changing the file name it may take some time (days or even months) for iTunes to update the image in the iTunes Podcast Directory.', 'powerpress'); ?>
|
1552 |
-
<?php echo sprintf( __('Please contact %s if you are having issues with your image changes not appearing in iTunes.', 'powerpress'), '<a href="
|
1553 |
<?php if( $SupportUploads ) { ?>
|
1554 |
|
1555 |
<p><label class="powerpress-normal-font"><input name="itunes_image_checkbox" type="checkbox" onchange="powerpress_show_field('itunes_image_upload', this.checked)" value="1" /> <?php echo __('Upload new image', 'powerpress'); ?></label>
|
396 |
?>
|
397 |
</li>
|
398 |
<li><?php echo __('Tell the world about PowerPress by writing about it on your blog', 'powerpress'); ?>,
|
399 |
+
<a href="https://twitter.com/home/?status=<?php echo urlencode( __('I\'m podcasting with Blubrry PowerPress (https://blubrry.com/powerpress/) #powerpress #wordpress', 'powerpress') ); ?>" target="_blank"><?php echo __('Twitter', 'powerpress'); ?></a>,
|
400 |
+
<a href="https://www.facebook.com/share.php?u=<?php echo urlencode('https://www.blubrry.com/powerpress'); ?>&t=<?php echo urlencode( __('I podcast with Blubrry PowerPress', 'powerpress')); ?>" target="_blank"><?php echo __('Facebook', 'powerpress'); ?></a>,
|
401 |
+
<a href="https://plus.google.com/share?url==<?php echo urlencode('https://www.blubrry.com/powerpress'); ?>" target="_blank"><?php echo __('Google+', 'powerpress'); ?></a>,
|
402 |
etc...</li>
|
403 |
<li><a href="http://www.blubrry.com/contact.php" target="_blank"><?php echo __('Send us feedback', 'powerpress'); ?></a> (<?php echo __('we love getting suggestions for new features!', 'powerpress'); ?>)</li>
|
404 |
</ul>
|
1545 |
<p><strong><?php echo __('A square 3000 x 3000 pixel image in .jpg format is recommended.', 'powerpress'); ?></strong></p>
|
1546 |
|
1547 |
<p>
|
1548 |
+
<?php echo __('This image is for your listing on the Apple podcasts directory and may also be used by other directories like Blubrry. It is not the artwork that is displayed during episode playback. That artwork needs to be saved into the media file in the form of tags (ID3 tags for mp3) following the production of the media file.', 'powerpress'); ?>
|
1549 |
</p>
|
1550 |
|
1551 |
<p class="description"><?php echo __('Note: If you change the iTunes image without changing the file name it may take some time (days or even months) for iTunes to update the image in the iTunes Podcast Directory.', 'powerpress'); ?>
|
1552 |
+
<?php echo sprintf( __('Please contact %s if you are having issues with your image changes not appearing in iTunes.', 'powerpress'), '<a href="https://create.blubrry.com/manual/podcast-promotion/submit-podcast-to-itunes/itunes-support/">'. __('Apple Podcasts Support', 'powerpress') .'</a>'); ?></p>
|
1553 |
<?php if( $SupportUploads ) { ?>
|
1554 |
|
1555 |
<p><label class="powerpress-normal-font"><input name="itunes_image_checkbox" type="checkbox" onchange="powerpress_show_field('itunes_image_upload', this.checked)" value="1" /> <?php echo __('Upload new image', 'powerpress'); ?></label>
|
powerpressadmin-editfeed.php
CHANGED
@@ -354,6 +354,9 @@ function powerpressadmin_edit_feed_general($FeedSettings, $General)
|
|
354 |
{
|
355 |
$warning = __('WARNING: You must create at least one podcast episode for your podcast feed to be valid.', 'powerpress');
|
356 |
}
|
|
|
|
|
|
|
357 |
?>
|
358 |
<h3><?php echo __('Podcast Feeds', 'powerpress'); ?></h3>
|
359 |
<table class="form-table">
|
@@ -435,6 +438,26 @@ function powerpressadmin_edit_feed_general($FeedSettings, $General)
|
|
435 |
</td>
|
436 |
</tr>
|
437 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
438 |
|
439 |
</table>
|
440 |
<?php
|
@@ -611,7 +634,7 @@ else
|
|
611 |
</th>
|
612 |
<td>
|
613 |
<p><input type="checkbox" name="Feed[maximize_feed]" value="1" <?php if( !empty($FeedSettings['maximize_feed']) ) echo 'checked'; ?> />
|
614 |
-
<?php echo __('Maximize the number of episodes while maintaining an optimal feed size.', 'powerpress'); ?> <a href="
|
615 |
<p></a></p>
|
616 |
</td>
|
617 |
</tr>
|
@@ -1021,7 +1044,7 @@ foreach( $types as $value=> $desc )
|
|
1021 |
</strong>
|
1022 |
</p>
|
1023 |
<p>
|
1024 |
-
<?php echo __('Learn more:', 'powerpress'); ?> <a href="
|
1025 |
</p>
|
1026 |
</div>
|
1027 |
<div id="new_feed_url_step_2" style="display: <?php echo ( !empty($FeedSettings['itunes_new_feed_url']) || !empty($FeedSettings['itunes_new_feed_url_podcast']) ?'block':'none'); ?>;">
|
@@ -1068,7 +1091,7 @@ foreach( $types as $value=> $desc )
|
|
1068 |
</p>
|
1069 |
<p style="margin-left: 25%;margin-top: 0;font-size: 90%;">(<?php echo __('Leave blank for no New Feed URL', 'powerpress'); ?>)</p>
|
1070 |
|
1071 |
-
<p><a href="
|
1072 |
<p>
|
1073 |
<?php
|
1074 |
if( !$cat_ID && !$feed_slug )
|
354 |
{
|
355 |
$warning = __('WARNING: You must create at least one podcast episode for your podcast feed to be valid.', 'powerpress');
|
356 |
}
|
357 |
+
|
358 |
+
if( !isset($FeedSettings['apply_to']) )
|
359 |
+
$FeedSettings['apply_to'] = 1;
|
360 |
?>
|
361 |
<h3><?php echo __('Podcast Feeds', 'powerpress'); ?></h3>
|
362 |
<table class="form-table">
|
438 |
</td>
|
439 |
</tr>
|
440 |
|
441 |
+
<tr valign="top">
|
442 |
+
<th scope="row">
|
443 |
+
<?php echo __('Emoji', 'powerpress'); ?> <?php echo powerpressadmin_new(); ?></th>
|
444 |
+
<td>
|
445 |
+
<?php
|
446 |
+
if( 'utf8mb4' != $GLOBALS['wpdb']->charset )
|
447 |
+
{
|
448 |
+
?>
|
449 |
+
<p style="font-weight: bold; color: #CC0000;">
|
450 |
+
<?php
|
451 |
+
echo __('Emoji may not be supported with your WordPress installation. Please upgrade your database to support utf8mb4 available in WordPress 4.2 and newer.', 'powerpress');
|
452 |
+
?>
|
453 |
+
</p>
|
454 |
+
<?php } ?>
|
455 |
+
<input type="hidden" name="General[rss_emoji]" value="0" />
|
456 |
+
<p><label><input type="checkbox" name="General[rss_emoji]" value="1" <?php if( !empty($General['rss_emoji']) ) echo 'checked '; ?>/> <?php echo __('Include Emoji in feeds.', 'powerpress'); ?></label>
|
457 |
+
<a href="https://create.blubrry.com/resources/powerpress/powerpress-settings/feeds/#emoji" target="_blank"><?php echo __('Learn more', 'powerpress'); ?></p>
|
458 |
+
</p>
|
459 |
+
</td>
|
460 |
+
</tr>
|
461 |
|
462 |
</table>
|
463 |
<?php
|
634 |
</th>
|
635 |
<td>
|
636 |
<p><input type="checkbox" name="Feed[maximize_feed]" value="1" <?php if( !empty($FeedSettings['maximize_feed']) ) echo 'checked'; ?> />
|
637 |
+
<?php echo __('Maximize the number of episodes while maintaining an optimal feed size.', 'powerpress'); ?> <a href="https://create.blubrry.com/resources/powerpress/powerpress-settings/feeds/#maximizer" target="_blank"><?php echo __('Learn more', 'powerpress'); ?></p>
|
638 |
<p></a></p>
|
639 |
</td>
|
640 |
</tr>
|
1044 |
</strong>
|
1045 |
</p>
|
1046 |
<p>
|
1047 |
+
<?php echo __('Learn more:', 'powerpress'); ?> <a href="https://create.blubrry.com/manual/syndicating-your-podcast-rss-feeds/changing-your-podcast-rss-feed-address-url/" target="_blank"><?php echo __('Changing Your Podcast RSS Feed Address (URL)', 'powerpress'); ?></a>
|
1048 |
</p>
|
1049 |
</div>
|
1050 |
<div id="new_feed_url_step_2" style="display: <?php echo ( !empty($FeedSettings['itunes_new_feed_url']) || !empty($FeedSettings['itunes_new_feed_url_podcast']) ?'block':'none'); ?>;">
|
1091 |
</p>
|
1092 |
<p style="margin-left: 25%;margin-top: 0;font-size: 90%;">(<?php echo __('Leave blank for no New Feed URL', 'powerpress'); ?>)</p>
|
1093 |
|
1094 |
+
<p><a href="https://create.blubrry.com/manual/syndicating-your-podcast-rss-feeds/changing-your-podcast-rss-feed-address-url/" target="_blank"><?php echo __('More information regarding the iTunes New Feed URL is available here.', 'powerpress'); ?></a></p>
|
1095 |
<p>
|
1096 |
<?php
|
1097 |
if( !$cat_ID && !$feed_slug )
|
powerpressadmin-import-feed.php
CHANGED
@@ -15,6 +15,7 @@ function powerpress_admin_import_feed()
|
|
15 |
<li><strong><a href="<?php echo admin_url("admin.php?import=powerpress-libsyn-rss-podcast"); ?>"><?php echo __('Podcast from LibSyn', 'powerpress'); ?></a></strong></li>
|
16 |
<li><strong><a href="<?php echo admin_url("admin.php?import=powerpress-podbean-rss-podcast"); ?>"><?php echo __('Podcast from PodBean', 'powerpress'); ?></a></strong></li>
|
17 |
<li><strong><a href="<?php echo admin_url("admin.php?import=powerpress-squarespace-rss-podcast"); ?>"><?php echo __('Podcast from Squarespace', 'powerpress'); ?></a></strong></li>
|
|
|
18 |
</ul>
|
19 |
<h4><?php echo __('Import from anywhere else', 'powerpress'); ?></h4>
|
20 |
<ul>
|
15 |
<li><strong><a href="<?php echo admin_url("admin.php?import=powerpress-libsyn-rss-podcast"); ?>"><?php echo __('Podcast from LibSyn', 'powerpress'); ?></a></strong></li>
|
16 |
<li><strong><a href="<?php echo admin_url("admin.php?import=powerpress-podbean-rss-podcast"); ?>"><?php echo __('Podcast from PodBean', 'powerpress'); ?></a></strong></li>
|
17 |
<li><strong><a href="<?php echo admin_url("admin.php?import=powerpress-squarespace-rss-podcast"); ?>"><?php echo __('Podcast from Squarespace', 'powerpress'); ?></a></strong></li>
|
18 |
+
<li><strong><a href="<?php echo admin_url("admin.php?import=powerpress-anchor-rss-podcast"); ?>"><?php echo __('Podcast from Anchor.fm', 'powerpress'); ?></a></strong></li>
|
19 |
</ul>
|
20 |
<h4><?php echo __('Import from anywhere else', 'powerpress'); ?></h4>
|
21 |
<ul>
|
powerpressadmin-notifications.php
CHANGED
@@ -213,9 +213,6 @@ if( powerpressadmin_notifications_appropriate() ) {
|
|
213 |
$message .= "\n\n";
|
214 |
$message .= '<div style="text-align: center; margin: 5px 0; font-weight: bold;"><i>'. powerpress_review_message() .'</i></div>';
|
215 |
|
216 |
-
// http://www.apple.com/customer-letter/
|
217 |
-
// if you love PowerPress, Please rate and review PowerPress here:
|
218 |
-
|
219 |
$PowerPressNotificationManager->add('spotify-201807', $message);
|
220 |
}
|
221 |
|
213 |
$message .= "\n\n";
|
214 |
$message .= '<div style="text-align: center; margin: 5px 0; font-weight: bold;"><i>'. powerpress_review_message() .'</i></div>';
|
215 |
|
|
|
|
|
|
|
216 |
$PowerPressNotificationManager->add('spotify-201807', $message);
|
217 |
}
|
218 |
|
powerpressadmin-rss-import.php
CHANGED
@@ -58,7 +58,6 @@ class PowerPress_RSS_Podcast_Import extends WP_Importer {
|
|
58 |
|
59 |
function header() {
|
60 |
echo '<div class="wrap" style="padding-left: 5%">';
|
61 |
-
screen_icon();
|
62 |
|
63 |
if( !empty($_GET['import']) )
|
64 |
{
|
@@ -68,6 +67,7 @@ class PowerPress_RSS_Podcast_Import extends WP_Importer {
|
|
68 |
case 'powerpress-libsyn-rss-podcast': echo '<h2>'.__('Import Podcast from LibSyn', 'powerpress').'</h2>'; break;
|
69 |
case 'powerpress-podbean-rss-podcast': echo '<h2>'.__('Import Podcast from PodBean', 'powerpress').'</h2>'; break;
|
70 |
case 'powerpress-squarespace-rss-podcast': echo '<h2>'.__('Import Podcast from Squarespace', 'powerpress').'</h2>'; break;
|
|
|
71 |
case 'powerpress-rss-podcast':
|
72 |
default: echo '<h2>'.__('Import Podcast RSS Feed', 'powerpress').'</h2>'; break;
|
73 |
}
|
@@ -105,6 +105,7 @@ class PowerPress_RSS_Podcast_Import extends WP_Importer {
|
|
105 |
case 'powerpress-libsyn-rss-podcast': $placeholder = 'http://yourshow.libsyn.com/rss'; break;
|
106 |
case 'powerpress-podbean-rss-podcast': $placeholder = 'http://yourshow.podbean.com/feed/'; break;
|
107 |
case 'powerpress-squarespace-rss-podcast': $placeholder = 'http://example.com/podcast/?format=rss'; break;
|
|
|
108 |
}
|
109 |
?>
|
110 |
<input type="text" name="podcast_feed_url" id="podcast_feed_url" size="50" class="code" style="width: 90%;" placeholder="<?php echo esc_attr($placeholder); ?>" />
|
@@ -1563,6 +1564,7 @@ jQuery(document).ready( function() {
|
|
1563 |
register_importer('powerpress-libsyn-rss-podcast', __('Podcast from LibSyn', 'powerpress'), __('Import episodes from a LibSyn podcast feed.', 'powerpress'), array ($powerpress_rss_podcast_import, 'dispatch'));
|
1564 |
register_importer('powerpress-podbean-rss-podcast', __('Podcast from PodBean ', 'powerpress'), __('Import episodes from a PodBean podcast feed.', 'powerpress'), array ($powerpress_rss_podcast_import, 'dispatch'));
|
1565 |
register_importer('powerpress-squarespace-rss-podcast', __('Podcast from Squarespace', 'powerpress'), __('Import episodes from a Squarespace podcast feed.', 'powerpress'), array ($powerpress_rss_podcast_import, 'dispatch'));
|
|
|
1566 |
register_importer('powerpress-rss-podcast', __('Podcast RSS Feed', 'powerpress'), __('Import episodes from a RSS podcast feed.', 'powerpress'), array ($powerpress_rss_podcast_import, 'dispatch'));
|
1567 |
|
1568 |
}; // end if WP_Importer exists
|
58 |
|
59 |
function header() {
|
60 |
echo '<div class="wrap" style="padding-left: 5%">';
|
|
|
61 |
|
62 |
if( !empty($_GET['import']) )
|
63 |
{
|
67 |
case 'powerpress-libsyn-rss-podcast': echo '<h2>'.__('Import Podcast from LibSyn', 'powerpress').'</h2>'; break;
|
68 |
case 'powerpress-podbean-rss-podcast': echo '<h2>'.__('Import Podcast from PodBean', 'powerpress').'</h2>'; break;
|
69 |
case 'powerpress-squarespace-rss-podcast': echo '<h2>'.__('Import Podcast from Squarespace', 'powerpress').'</h2>'; break;
|
70 |
+
case 'powerpress-anchor-rss-podcast': echo '<h2>'.__('Import Podcast from Anchor.fm', 'powerpress').'</h2>'; break;
|
71 |
case 'powerpress-rss-podcast':
|
72 |
default: echo '<h2>'.__('Import Podcast RSS Feed', 'powerpress').'</h2>'; break;
|
73 |
}
|
105 |
case 'powerpress-libsyn-rss-podcast': $placeholder = 'http://yourshow.libsyn.com/rss'; break;
|
106 |
case 'powerpress-podbean-rss-podcast': $placeholder = 'http://yourshow.podbean.com/feed/'; break;
|
107 |
case 'powerpress-squarespace-rss-podcast': $placeholder = 'http://example.com/podcast/?format=rss'; break;
|
108 |
+
case 'powerpress-anchor-rss-podcast': $placeholder = 'https://anchor.fm/s/xxxxxx/podcast/rss'; break;
|
109 |
}
|
110 |
?>
|
111 |
<input type="text" name="podcast_feed_url" id="podcast_feed_url" size="50" class="code" style="width: 90%;" placeholder="<?php echo esc_attr($placeholder); ?>" />
|
1564 |
register_importer('powerpress-libsyn-rss-podcast', __('Podcast from LibSyn', 'powerpress'), __('Import episodes from a LibSyn podcast feed.', 'powerpress'), array ($powerpress_rss_podcast_import, 'dispatch'));
|
1565 |
register_importer('powerpress-podbean-rss-podcast', __('Podcast from PodBean ', 'powerpress'), __('Import episodes from a PodBean podcast feed.', 'powerpress'), array ($powerpress_rss_podcast_import, 'dispatch'));
|
1566 |
register_importer('powerpress-squarespace-rss-podcast', __('Podcast from Squarespace', 'powerpress'), __('Import episodes from a Squarespace podcast feed.', 'powerpress'), array ($powerpress_rss_podcast_import, 'dispatch'));
|
1567 |
+
register_importer('powerpress-anchor-rss-podcast', __('Podcast from Anchor.fm', 'powerpress'), __('Import episodes from an Anchor.fm podcast feed.', 'powerpress'), array ($powerpress_rss_podcast_import, 'dispatch'));
|
1568 |
register_importer('powerpress-rss-podcast', __('Podcast RSS Feed', 'powerpress'), __('Import episodes from a RSS podcast feed.', 'powerpress'), array ($powerpress_rss_podcast_import, 'dispatch'));
|
1569 |
|
1570 |
}; // end if WP_Importer exists
|
powerpressadmin-search.php
CHANGED
@@ -14,9 +14,7 @@ jQuery(document).ready(function() {
|
|
14 |
|
15 |
<?php
|
16 |
|
17 |
-
|
18 |
-
echo " jQuery('#powerpress_example_show_title').hide();\n";
|
19 |
-
if( !empty($General['seo_feed_title']) && $General['seo_feed_title'] == 1 )
|
20 |
echo " jQuery('#powerpress_example_post_title').hide();\n";
|
21 |
?>
|
22 |
jQuery('#seo_feed_title').change( function() {
|
@@ -25,12 +23,6 @@ jQuery(document).ready(function() {
|
|
25 |
else
|
26 |
jQuery('.powerpress_seo_feed_title').prop('checked', false);
|
27 |
});
|
28 |
-
jQuery('#seo_append_show_title').change( function() {
|
29 |
-
if( jQuery(this).prop('checked') )
|
30 |
-
jQuery('#powerpress_example_show_title').show();
|
31 |
-
else
|
32 |
-
jQuery('#powerpress_example_show_title').hide();
|
33 |
-
});
|
34 |
jQuery('.powerpress_seo_feed_title').change( function() {
|
35 |
|
36 |
jQuery('#seo_feed_title').prop('checked', true);
|
@@ -91,19 +83,12 @@ jQuery(document).ready(function() {
|
|
91 |
<p><label style="display: block;"><input type="radio" class="powerpress_seo_feed_title" id="powerpress_seo_feed_title_3" name="General[seo_feed_title]" value="3" <?php if( $General['seo_feed_title'] == 3 ) echo 'checked'; ?> />
|
92 |
<?php echo __('Feed episode title appended to post title', 'powerpress'); ?></label></p>
|
93 |
</div>
|
94 |
-
<p>
|
95 |
-
<label for="seo_append_show_title">
|
96 |
-
<input name="General[seo_append_show_title]" type="hidden" value="0" />
|
97 |
-
<input id="seo_append_show_title" name="General[seo_append_show_title]" type="checkbox" value="1" <?php if( !empty($General['seo_append_show_title']) ) echo 'checked '; ?> />
|
98 |
-
<?php echo __('Append show title to episode titles.', 'powerpress'); ?></label>
|
99 |
-
</p>
|
100 |
<p style="margin: 10px 0 0 40px;">
|
101 |
<strong><?php echo __('Example based on options selected above:', 'powerpress'); ?></strong><br /><i>
|
102 |
<span id="powerpress_example_post_episode_title">
|
103 |
<span id="powerpress_example_post_title" style="margin: 0 5px;"> <?php echo __('Blog Post Title', 'powerpress'); ?> </span>
|
104 |
<span id="powerpress_example_episode_title" style="margin: 0 5px;"> <?php echo __('Custom Episode Title', 'powerpress'); ?> </span>
|
105 |
</span>
|
106 |
-
<span id="powerpress_example_show_title"> - <span style="margin: 0 5px;"><?php echo __('Show Title', 'powerpress'); ?></span></span>
|
107 |
</i>
|
108 |
</p>
|
109 |
</td>
|
14 |
|
15 |
<?php
|
16 |
|
17 |
+
if( !empty($General['seo_feed_title']) && $General['seo_feed_title'] == 1 )
|
|
|
|
|
18 |
echo " jQuery('#powerpress_example_post_title').hide();\n";
|
19 |
?>
|
20 |
jQuery('#seo_feed_title').change( function() {
|
23 |
else
|
24 |
jQuery('.powerpress_seo_feed_title').prop('checked', false);
|
25 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
jQuery('.powerpress_seo_feed_title').change( function() {
|
27 |
|
28 |
jQuery('#seo_feed_title').prop('checked', true);
|
83 |
<p><label style="display: block;"><input type="radio" class="powerpress_seo_feed_title" id="powerpress_seo_feed_title_3" name="General[seo_feed_title]" value="3" <?php if( $General['seo_feed_title'] == 3 ) echo 'checked'; ?> />
|
84 |
<?php echo __('Feed episode title appended to post title', 'powerpress'); ?></label></p>
|
85 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
<p style="margin: 10px 0 0 40px;">
|
87 |
<strong><?php echo __('Example based on options selected above:', 'powerpress'); ?></strong><br /><i>
|
88 |
<span id="powerpress_example_post_episode_title">
|
89 |
<span id="powerpress_example_post_title" style="margin: 0 5px;"> <?php echo __('Blog Post Title', 'powerpress'); ?> </span>
|
90 |
<span id="powerpress_example_episode_title" style="margin: 0 5px;"> <?php echo __('Custom Episode Title', 'powerpress'); ?> </span>
|
91 |
</span>
|
|
|
92 |
</i>
|
93 |
</p>
|
94 |
</td>
|
readme.txt
CHANGED
@@ -3,8 +3,8 @@ Contributors: amandato, blubrry
|
|
3 |
Tags: podcasting, podcast, podcaster, powerpress, itunes, apple, apple podcasts, google podcasts, google play, enclosure, professional, apple, apple tv, ipad, iphone, soundcloud, squarespace, youtube, viddler, ustream, podcasting, audio, video, rss2, feed, player, media, rss, mp3, music, embed, feedburner, statistics, stats, flv, flash, id3, episodes, blubrry, mp4, m4v, wordpressmu, mu, wordpress mu, multisite, multi site, mediacaster, post, plugin, posts, simple, social, dashboard, TSG, Buzzsprout, MTR, WP-boxCast, CastMyBlog, tgs podcasting, simple podcasting, seriously simple podcasting, seriously-simple-podcasting, serious, seriously, ssp, podlove, podcast.de, clammr, clammr radio, audio player, stitcher, tunein, show, shows, series, docs, documentation, support, free, add-ons, extensions, addons, libsyn, libsyn-podcasting, podbean, podomatic, spreaker
|
4 |
Requires at least: 3.6
|
5 |
Requires PHP: 5.2
|
6 |
-
Tested up to: 4.9.
|
7 |
-
Stable tag: 7.
|
8 |
Donate link: https://create.blubrry.com/resources/podcast-media-hosting/
|
9 |
License: GPLv2 or later
|
10 |
|
@@ -30,6 +30,7 @@ When you're ready you can switch to Advanced mode to tap into all the options pr
|
|
30 |
= PowerPress Key Features =
|
31 |
- Full Apple Podcasts (previously iTunes Podcasts) & Google Podcasts support: Adds Apple Podcast compliant podcast feeds to your WordPress site.
|
32 |
- Integrated HTML5 Media Players: Audio/video Web players with embed support from sites such as YouTube.
|
|
|
33 |
- Subscribe tools: Create subscribe page with our exclusive subscribe shortcode embed and subscribe sidebar widget optimized for responsive websites, high-resolution screens and Apple Retina displays.
|
34 |
- Podcasting SEO: Improve discovery of your podcast on search engines such as Google, and with the Apple Podcasts directory.
|
35 |
- Podcast Importing: Import your podcast from SoundCloud, LibSyn, PodBean, Squarespace, or other podcast RSS feed.
|
@@ -37,7 +38,7 @@ When you're ready you can switch to Advanced mode to tap into all the options pr
|
|
37 |
- Multi-podcast support: Create separate podcasts by category (Category Podcasting) or by media format (Podcast Channels).
|
38 |
- Post type and taxonomy podcasting: Create podcasts from custom post types and taxonomies.
|
39 |
- *Media Statistics: Get FREE Blubrry Media Statistics from your WordPress dashboard.
|
40 |
-
- Multi-languages and
|
41 |
|
42 |
= Includes Full Apple Podcasts Support! =
|
43 |
Blubrry PowerPress fully supports Apple Podcasts (previously iTunes podcasts), which is required for podcasting. PowerPress comes with the following Apple Podcasts specific features:
|
@@ -166,6 +167,7 @@ If you are having a problem specifically with the player and links, try the "Hav
|
|
166 |
* [Eli's PowerPress Addon Widget](http://wordpress.org/extend/plugins/podpress-addons/) - Adds a sidebar widget that lists your podcast episodes linked to the play in a new window PowerPress player.
|
167 |
* [PowerPress Posts From MySQL](http://wordpress.org/extend/plugins/powerpress-posts-from-mysql/developers/) - Creates blog posts with PowerPress podcast episode information from a MySQL table.
|
168 |
* [Featured Podcast Widget](http://wordpress.org/plugins/featured-podcast-widget/), [Home Page](http://www.richardfarrar.com/featured-podcast-widget-for-wordpress/) - A widget that enables you to display your latest podcast from a category or featured podcast utilising the PowerPress plugin's default player.
|
|
|
169 |
|
170 |
|
171 |
= Why doesn't Blubrry PowerPress support multiple enclosures in one feed item/post? =
|
@@ -232,6 +234,17 @@ To install Blubrry PowerPress manually, follow these steps:
|
|
232 |
= Fan of PowerPress and want to show your support? =
|
233 |
If you are a fan of PowerPress, we would greatly appreciate it if you could take a moment and [leave us a review on WordPress.org](https://wordpress.org/support/plugin/powerpress/reviews/?rate=5#new-post). Your support is greatly appreciated!
|
234 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
235 |
= 7.3 =
|
236 |
* Released on 07/10/2018
|
237 |
* Spotify and Google Podcasts subscribe links added to Destinations.
|
3 |
Tags: podcasting, podcast, podcaster, powerpress, itunes, apple, apple podcasts, google podcasts, google play, enclosure, professional, apple, apple tv, ipad, iphone, soundcloud, squarespace, youtube, viddler, ustream, podcasting, audio, video, rss2, feed, player, media, rss, mp3, music, embed, feedburner, statistics, stats, flv, flash, id3, episodes, blubrry, mp4, m4v, wordpressmu, mu, wordpress mu, multisite, multi site, mediacaster, post, plugin, posts, simple, social, dashboard, TSG, Buzzsprout, MTR, WP-boxCast, CastMyBlog, tgs podcasting, simple podcasting, seriously simple podcasting, seriously-simple-podcasting, serious, seriously, ssp, podlove, podcast.de, clammr, clammr radio, audio player, stitcher, tunein, show, shows, series, docs, documentation, support, free, add-ons, extensions, addons, libsyn, libsyn-podcasting, podbean, podomatic, spreaker
|
4 |
Requires at least: 3.6
|
5 |
Requires PHP: 5.2
|
6 |
+
Tested up to: 4.9.9
|
7 |
+
Stable tag: 7.4
|
8 |
Donate link: https://create.blubrry.com/resources/podcast-media-hosting/
|
9 |
License: GPLv2 or later
|
10 |
|
30 |
= PowerPress Key Features =
|
31 |
- Full Apple Podcasts (previously iTunes Podcasts) & Google Podcasts support: Adds Apple Podcast compliant podcast feeds to your WordPress site.
|
32 |
- Integrated HTML5 Media Players: Audio/video Web players with embed support from sites such as YouTube.
|
33 |
+
- NEW: [Skip to Position in Player](https://create.blubrry.com/resources/powerpress/advanced-tools-and-options/skip-to-position-in-player/) shortcode
|
34 |
- Subscribe tools: Create subscribe page with our exclusive subscribe shortcode embed and subscribe sidebar widget optimized for responsive websites, high-resolution screens and Apple Retina displays.
|
35 |
- Podcasting SEO: Improve discovery of your podcast on search engines such as Google, and with the Apple Podcasts directory.
|
36 |
- Podcast Importing: Import your podcast from SoundCloud, LibSyn, PodBean, Squarespace, or other podcast RSS feed.
|
38 |
- Multi-podcast support: Create separate podcasts by category (Category Podcasting) or by media format (Podcast Channels).
|
39 |
- Post type and taxonomy podcasting: Create podcasts from custom post types and taxonomies.
|
40 |
- *Media Statistics: Get FREE Blubrry Media Statistics from your WordPress dashboard.
|
41 |
+
- Multi-languages, locales and emoji support: See [PowerPress in your language](http://create.blubrry.com/resources/powerpress/powerpress-language/) and [Enable Emoji in podcast feeds](https://create.blubrry.com/resources/powerpress/powerpress-settings/feeds/#emoji) for details.
|
42 |
|
43 |
= Includes Full Apple Podcasts Support! =
|
44 |
Blubrry PowerPress fully supports Apple Podcasts (previously iTunes podcasts), which is required for podcasting. PowerPress comes with the following Apple Podcasts specific features:
|
167 |
* [Eli's PowerPress Addon Widget](http://wordpress.org/extend/plugins/podpress-addons/) - Adds a sidebar widget that lists your podcast episodes linked to the play in a new window PowerPress player.
|
168 |
* [PowerPress Posts From MySQL](http://wordpress.org/extend/plugins/powerpress-posts-from-mysql/developers/) - Creates blog posts with PowerPress podcast episode information from a MySQL table.
|
169 |
* [Featured Podcast Widget](http://wordpress.org/plugins/featured-podcast-widget/), [Home Page](http://www.richardfarrar.com/featured-podcast-widget-for-wordpress/) - A widget that enables you to display your latest podcast from a category or featured podcast utilising the PowerPress plugin's default player.
|
170 |
+
* [Skip to Timestamp](https://wordpress.org/plugins/skip-to-timestamp/) - Skip to Timestamp allows for generating links in your posts that automatically skip to a given time in an audio, video or youtube embed.
|
171 |
|
172 |
|
173 |
= Why doesn't Blubrry PowerPress support multiple enclosures in one feed item/post? =
|
234 |
= Fan of PowerPress and want to show your support? =
|
235 |
If you are a fan of PowerPress, we would greatly appreciate it if you could take a moment and [leave us a review on WordPress.org](https://wordpress.org/support/plugin/powerpress/reviews/?rate=5#new-post). Your support is greatly appreciated!
|
236 |
|
237 |
+
|
238 |
+
= 7.4 =
|
239 |
+
* Released on 10/03/2018
|
240 |
+
* NEW: [Skip to Position in Player](https://create.blubrry.com/resources/powerpress/advanced-tools-and-options/skip-to-position-in-player/) shortcode, quickly skip to a position in your audio episodes from your show notes. e.g. `[skipto time="2:34"]` [Learn more](https://create.blubrry.com/resources/powerpress/advanced-tools-and-options/skip-to-position-in-player/)
|
241 |
+
* MEW: Emoji in show notes! You can now enter Emoji characters into the show notes to appear in podcast apps. Enable option in Feed settings tab. Previously WordPress converst Emoji to images which are not displayed in podcast apps. [Learn more](https://create.blubrry.com/resources/powerpress/powerpress-settings/feeds/#emoji)
|
242 |
+
* Added option to override the Google Podcasts subscribe URL.
|
243 |
+
* Enhanced VideoObject, a feature in Podcasting SEO.
|
244 |
+
* Improved base64 encoding Google Podcasts Subscribe URLs. (Thanks Daniel Lewis for the heads up!)
|
245 |
+
* Removed option `Append show title to episode titles` per request from Apple.
|
246 |
+
|
247 |
+
|
248 |
= 7.3 =
|
249 |
* Released on 07/10/2018
|
250 |
* Spotify and Google Podcasts subscribe links added to Destinations.
|
views/settings_tab_appearance.php
CHANGED
@@ -73,7 +73,7 @@
|
|
73 |
<?php
|
74 |
}
|
75 |
?>
|
76 |
-
<p><a href="
|
77 |
<?php
|
78 |
// TODO: use the $FeedAttribs to create a recommended shortcode for this particular channel, may be simple [powerpress_subscribe] or it may specify the category, taxonomy, and/or feed_slug/post tpe podcasting
|
79 |
?>
|
@@ -127,7 +127,7 @@
|
|
127 |
<?php echo __('The Player shortcode is used to position your media presentation (player and download links) exactly where you want within your post or page content.', 'powerpress'); ?>
|
128 |
</p>
|
129 |
<p>
|
130 |
-
<?php echo sprintf(__('Please visit the %s page for additional options.', 'powerpress'), '<a href="
|
131 |
</p>
|
132 |
<p class="description">
|
133 |
<?php echo __('Note: When specifying a URL to media in the powerpress shortcode, only the player is included. The Media Links will <u>NOT</u> be included since there is not enough meta information to display them.', 'powerpress'); ?>
|
@@ -147,7 +147,7 @@
|
|
147 |
<?php echo __('The Playlist shortcode is used to display a player with a playlist of your podcast episodes. It utilizes the default playlist built into WordPress.', 'powerpress'); ?>
|
148 |
</p>
|
149 |
<p>
|
150 |
-
<?php echo sprintf(__('Please visit the %s page for additional options.', 'powerpress'), '<a href="
|
151 |
</p>
|
152 |
|
153 |
<h3><?php echo __('PowerPress Subscribe Shortcode', 'powerpress'); ?> </h3>
|
@@ -158,7 +158,26 @@
|
|
158 |
<?php echo __('The Subscribe shortcode is used to display a subscribe to podcast widget for your podcast. It is intended for use on a custom subscribe page. See the Subscribe Page section below for more details.', 'powerpress'); ?>
|
159 |
</p>
|
160 |
<p>
|
161 |
-
<?php echo sprintf(__('Please visit the %s page for additional options.', 'powerpress'), '<a href="
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
162 |
</p>
|
163 |
|
164 |
</td>
|
73 |
<?php
|
74 |
}
|
75 |
?>
|
76 |
+
<p><a href="https://create.blubrry.com/resources/powerpress/advanced-tools-and-options/subscribe-page/" target="_blank"><?php echo __('Learn more about the PowerPress Subscribe Page', 'powerpress'); ?></a></p>
|
77 |
<?php
|
78 |
// TODO: use the $FeedAttribs to create a recommended shortcode for this particular channel, may be simple [powerpress_subscribe] or it may specify the category, taxonomy, and/or feed_slug/post tpe podcasting
|
79 |
?>
|
127 |
<?php echo __('The Player shortcode is used to position your media presentation (player and download links) exactly where you want within your post or page content.', 'powerpress'); ?>
|
128 |
</p>
|
129 |
<p>
|
130 |
+
<?php echo sprintf(__('Please visit the %s page for additional options.', 'powerpress'), '<a href="https://create.blubrry.com/resources/powerpress/advanced-tools-and-options/shortcode/" target="_blank">'. __('PowerPress Player Shortcode', 'powerpress') .'</a>' ); ?>
|
131 |
</p>
|
132 |
<p class="description">
|
133 |
<?php echo __('Note: When specifying a URL to media in the powerpress shortcode, only the player is included. The Media Links will <u>NOT</u> be included since there is not enough meta information to display them.', 'powerpress'); ?>
|
147 |
<?php echo __('The Playlist shortcode is used to display a player with a playlist of your podcast episodes. It utilizes the default playlist built into WordPress.', 'powerpress'); ?>
|
148 |
</p>
|
149 |
<p>
|
150 |
+
<?php echo sprintf(__('Please visit the %s page for additional options.', 'powerpress'), '<a href="https://create.blubrry.com/resources/powerpress/advanced-tools-and-options/powerpress-playlist-shortcode/" target="_blank">'. __('PowerPress Playlist Shortcode', 'powerpress') .'</a>' ); ?>
|
151 |
</p>
|
152 |
|
153 |
<h3><?php echo __('PowerPress Subscribe Shortcode', 'powerpress'); ?> </h3>
|
158 |
<?php echo __('The Subscribe shortcode is used to display a subscribe to podcast widget for your podcast. It is intended for use on a custom subscribe page. See the Subscribe Page section below for more details.', 'powerpress'); ?>
|
159 |
</p>
|
160 |
<p>
|
161 |
+
<?php echo sprintf(__('Please visit the %s page for additional options.', 'powerpress'), '<a href="https://create.blubrry.com/resources/powerpress/advanced-tools-and-options/powerpress-subscribe-shortcode/" target="_blank">'. __('PowerPress Subscribe Shortcode', 'powerpress') .'</a>' ); ?>
|
162 |
+
</p>
|
163 |
+
|
164 |
+
|
165 |
+
|
166 |
+
<h3><?php echo __('PowerPress Skip-to-Position in Player Shortcode', 'powerpress'); ?> <?php echo powerpressadmin_new(); ?></h3>
|
167 |
+
<p>
|
168 |
+
<?php echo '<code>[skipto time="TIME"]</code>'; ?>
|
169 |
+
</p>
|
170 |
+
<p>
|
171 |
+
<?php echo __('The Skip-to-Position in Player shortcode creates a link in your page to skip to the specified position in the player. Time may be entered in seconds, minutes:seconds, or hours:minutes:seconds. A label may be specified by providing text followed by a closing shortcode tag. See examples below.', 'powerpress'); ?>
|
172 |
+
</p>
|
173 |
+
<ul style="margin-left: 40px;">
|
174 |
+
<li>[skipto time="45"] — <a href="#" onclick="return false;">0:45</a></li>
|
175 |
+
<li>[skipto time="45"]Skip intro[/skipto] — <a href="#" onclick="return false;">Skip intro</a></li>
|
176 |
+
<li>[skipto time="3:05"] <?php echo __('or', 'powerpress'); ?> [skipto time="185"] — <a href="#" onclick="return false;">3:05</a></li>
|
177 |
+
<li>[skipto time="1:23:45"] <?php echo __('or', 'powerpress'); ?> [skipto time="83:45"] <?php echo __('or', 'powerpress'); ?> [skipto time="5025"] — <a href="#" onclick="return false;">1:23:45</a></li>
|
178 |
+
</ul>
|
179 |
+
<p>
|
180 |
+
<?php echo sprintf(__('Please visit the %s page for additional options.', 'powerpress'), '<a href="https://create.blubrry.com/resources/powerpress/advanced-tools-and-options/skip-to-position-in-player/" target="_blank">'. __('PowerPress Skip-to-Position in Player Shortcode', 'powerpress') .'</a>' ); ?>
|
181 |
</p>
|
182 |
|
183 |
</td>
|
views/settings_tab_destinations.php
CHANGED
@@ -39,9 +39,11 @@
|
|
39 |
if( empty($FeedSettings['tunein_url']) )
|
40 |
$FeedSettings['tunein_url'] = '';
|
41 |
if( empty($FeedSettings['spotify_url']) )
|
42 |
-
$FeedSettings['spotify_url'] = '';
|
|
|
|
|
43 |
|
44 |
-
$googleUrl = 'https://www.google.com/podcasts?feed='.
|
45 |
?>
|
46 |
|
47 |
|
@@ -66,7 +68,7 @@
|
|
66 |
<tr valign="top">
|
67 |
<th scope="row"><?php echo __('Apple', 'powerpress'); ?></th>
|
68 |
<td>
|
69 |
-
<p><strong><a href="
|
70 |
<label for="itunes_url" style="font-size: 120%; display: block; font-weight: bold;"><?php echo __('Apple Subscription URL', 'powerpress'); ?></label>
|
71 |
<input type="text" style="width: 80%;" id="itunes_url" name="Feed[itunes_url]" value="<?php echo esc_attr($FeedSettings['itunes_url']); ?>" maxlength="255" />
|
72 |
<p class="description"><?php echo sprintf(__('e.g. %s', 'powerpress'), 'http://itunes.apple.com/podcast/title-of-podcast/id<strong>000000000</strong>'); ?></p>
|
@@ -79,14 +81,35 @@
|
|
79 |
<tr valign="top">
|
80 |
<th scope="row"><?php echo __('Google', 'powerpress'); ?> <?php echo powerpressadmin_new(); ?></th>
|
81 |
<td>
|
82 |
-
<p><strong><a href="
|
83 |
<label for="googleplay_url" style="font-size: 120%; display: block; font-weight: bold;"><?php echo __('Google Listing URL', 'powerpress'); ?></label>
|
84 |
-
<input type="text" class="bpp-input-normal" id="
|
|
|
|
|
85 |
<p><?php echo __('Google Podcasts directory is available through Google search, Google Home smart speakers, and the new Google Podcasts app for Android. As long as your podcast website is discoverable by Google search, your podcast will be included in this directory.', 'powerpress'); ?></p>
|
86 |
</td>
|
87 |
</tr>
|
88 |
</table>
|
89 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
90 |
<table class="form-table">
|
91 |
<tr valign="top">
|
92 |
<th scope="row"><?php echo __('Blubrry Podcast Directory', 'powerpress'); ?></th>
|
@@ -95,7 +118,7 @@
|
|
95 |
<p>
|
96 |
<?php echo __('The largest podcast directory in the World!', 'powerpress'); ?>
|
97 |
</p><p>
|
98 |
-
<?php echo sprintf(__('Once listed, %s to expand your podcast distribution to Blubrry\'s SmartTV Apps (e.g. Roku) and apply to be on Spotify.', 'powerpress'), '<a href="
|
99 |
</p>
|
100 |
<label for="blubrry_url" style="font-size: 120%; display: block; font-weight: bold;"><?php echo __('Blubrry Listing URL', 'powerpress'); ?></label>
|
101 |
<input type="text" class="bpp-input-normal" id="blubrry_url" name="Feed[blubrry_url]" value="<?php echo esc_attr($FeedSettings['blubrry_url']); ?>" maxlength="255" />
|
@@ -108,7 +131,7 @@
|
|
108 |
<tr valign="top">
|
109 |
<th scope="row"><?php echo __('Stitcher Podcast Radio', 'powerpress'); ?></th>
|
110 |
<td>
|
111 |
-
<p><strong><a href="
|
112 |
<label for="stitcher_url" style="font-size: 120%; display: block; font-weight: bold;"><?php echo __('Stitcher Listing URL', 'powerpress'); ?></label>
|
113 |
<input type="text" class="bpp-input-normal" id="stitcher_url" name="Feed[stitcher_url]" value="<?php echo esc_attr($FeedSettings['stitcher_url']); ?>" maxlength="255" />
|
114 |
<p class="description"><?php echo sprintf(__('e.g. %s', 'powerpress'), 'http://www.stitcher.com/podcast/your/listing-url/'); ?></p>
|
@@ -120,7 +143,7 @@
|
|
120 |
<tr valign="top">
|
121 |
<th scope="row"><?php echo __('TuneIn', 'powerpress'); ?></th>
|
122 |
<td>
|
123 |
-
<p><strong><a href="
|
124 |
<label for="tunein_url" style="font-size: 120%; display: block; font-weight: bold;"><?php echo __('TuneIn Listing URL', 'powerpress'); ?></label>
|
125 |
<input type="text" class="bpp-input-normal" id="tunein_url" name="Feed[tunein_url]" value="<?php echo esc_attr($FeedSettings['tunein_url']); ?>" maxlength="255" />
|
126 |
<p class="description"><?php echo sprintf(__('e.g. %s', 'powerpress'), 'http://tunein.com/radio/your-podcast-p000000/'); ?></p>
|
@@ -133,7 +156,7 @@
|
|
133 |
<tr valign="top">
|
134 |
<th scope="row"><?php echo __('Spotify', 'powerpress'); ?> <?php echo powerpressadmin_new(); ?></th>
|
135 |
<td>
|
136 |
-
<p><strong><a href="
|
137 |
<label for="tunein_url" style="font-size: 120%; display: block; font-weight: bold;"><?php echo __('Spotify Listing URL', 'powerpress'); ?></label>
|
138 |
<input type="text" class="bpp-input-normal" id="spotify_url" name="Feed[spotify_url]" value="<?php echo esc_attr($FeedSettings['spotify_url']); ?>" maxlength="255" />
|
139 |
<p class="description"><?php echo sprintf(__('e.g. %s', 'powerpress'), 'https://open.spotify.com/show/abcdefghijklmnopqrstu'); ?></p>
|
39 |
if( empty($FeedSettings['tunein_url']) )
|
40 |
$FeedSettings['tunein_url'] = '';
|
41 |
if( empty($FeedSettings['spotify_url']) )
|
42 |
+
$FeedSettings['spotify_url'] = '';
|
43 |
+
if( empty($FeedSettings['google_url']) )
|
44 |
+
$FeedSettings['google_url'] = '';
|
45 |
|
46 |
+
$googleUrl = 'https://www.google.com/podcasts?feed='.powerpress_base64_encode($feed_url);
|
47 |
?>
|
48 |
|
49 |
|
68 |
<tr valign="top">
|
69 |
<th scope="row"><?php echo __('Apple', 'powerpress'); ?></th>
|
70 |
<td>
|
71 |
+
<p><strong><a href="https://create.blubrry.com/manual/podcast-promotion/submit-podcast-to-itunes/?podcast-feed=<?php echo urlencode($feed_url); ?>" target="_blank"><?php echo __('Submit podcast to Apple', 'powerpress'); ?></a></strong></p>
|
72 |
<label for="itunes_url" style="font-size: 120%; display: block; font-weight: bold;"><?php echo __('Apple Subscription URL', 'powerpress'); ?></label>
|
73 |
<input type="text" style="width: 80%;" id="itunes_url" name="Feed[itunes_url]" value="<?php echo esc_attr($FeedSettings['itunes_url']); ?>" maxlength="255" />
|
74 |
<p class="description"><?php echo sprintf(__('e.g. %s', 'powerpress'), 'http://itunes.apple.com/podcast/title-of-podcast/id<strong>000000000</strong>'); ?></p>
|
81 |
<tr valign="top">
|
82 |
<th scope="row"><?php echo __('Google', 'powerpress'); ?> <?php echo powerpressadmin_new(); ?></th>
|
83 |
<td>
|
84 |
+
<p><strong><a href="https://create.blubrry.com/manual/podcast-promotion/submit-podcast-google-podcasts/?podcast-feed=<?php echo urlencode($feed_url); ?>" target="_blank"><?php echo __('Learn more about Google Podcasts', 'powerpress'); ?></a></strong></p>
|
85 |
<label for="googleplay_url" style="font-size: 120%; display: block; font-weight: bold;"><?php echo __('Google Listing URL', 'powerpress'); ?></label>
|
86 |
+
<input type="text" class="bpp-input-normal" style="<?php echo ( empty($FeedSettings['google_url'])?'':'display: none;'); ?>" id="google_url" name="Null[google_url]" value="<?php echo esc_attr($googleUrl); ?>" maxlength="255" readOnly onclick="javascript: this.select();" onfocus="javascript: this.select();" />
|
87 |
+
<input type="text" class="bpp-input-normal" placeholder="<?php echo esc_attr($googleUrl); ?>" style="<?php echo ( empty($FeedSettings['google_url'])?'display: none;':''); ?>" id="google_url_override" name="Feed[google_url]" value="<?php echo esc_attr($FeedSettings['google_url']); ?>" maxlength="255" />
|
88 |
+
<label><input type="checkbox" name="NULL[google_url_toggle]" id="google_url_toggle" value="1" <?php echo ( empty($FeedSettings['google_url'])?'':'checked'); ?> /> <?php echo __('Modify', 'powerpress'); ?></label>
|
89 |
<p><?php echo __('Google Podcasts directory is available through Google search, Google Home smart speakers, and the new Google Podcasts app for Android. As long as your podcast website is discoverable by Google search, your podcast will be included in this directory.', 'powerpress'); ?></p>
|
90 |
</td>
|
91 |
</tr>
|
92 |
</table>
|
93 |
|
94 |
+
<script>
|
95 |
+
jQuery( document ).ready(function() {
|
96 |
+
// Handler for .ready() called.
|
97 |
+
jQuery('#google_url_toggle').click( function(e) {
|
98 |
+
if( this.checked ) {
|
99 |
+
jQuery('#google_url').hide();
|
100 |
+
jQuery('#google_url_override').show();
|
101 |
+
} else {
|
102 |
+
if( confirm('<?php echo esc_js( __('Reset, are you sure?', 'powerpres') ); ?>') ) {
|
103 |
+
jQuery('#google_url_override').val('');
|
104 |
+
jQuery('#google_url_override').hide();
|
105 |
+
jQuery('#google_url').show();
|
106 |
+
} else {
|
107 |
+
e.preventDefault();
|
108 |
+
}
|
109 |
+
}
|
110 |
+
});
|
111 |
+
});
|
112 |
+
</script>
|
113 |
<table class="form-table">
|
114 |
<tr valign="top">
|
115 |
<th scope="row"><?php echo __('Blubrry Podcast Directory', 'powerpress'); ?></th>
|
118 |
<p>
|
119 |
<?php echo __('The largest podcast directory in the World!', 'powerpress'); ?>
|
120 |
</p><p>
|
121 |
+
<?php echo sprintf(__('Once listed, %s to expand your podcast distribution to Blubrry\'s SmartTV Apps (e.g. Roku) and apply to be on Spotify.', 'powerpress'), '<a href="https://create.blubrry.com/resources/blubrry-podcast-directory/" target="_blank">'. __('Get Featured', 'powerpress').'</a>' ); ?>
|
122 |
</p>
|
123 |
<label for="blubrry_url" style="font-size: 120%; display: block; font-weight: bold;"><?php echo __('Blubrry Listing URL', 'powerpress'); ?></label>
|
124 |
<input type="text" class="bpp-input-normal" id="blubrry_url" name="Feed[blubrry_url]" value="<?php echo esc_attr($FeedSettings['blubrry_url']); ?>" maxlength="255" />
|
131 |
<tr valign="top">
|
132 |
<th scope="row"><?php echo __('Stitcher Podcast Radio', 'powerpress'); ?></th>
|
133 |
<td>
|
134 |
+
<p><strong><a href="https://create.blubrry.com/manual/podcast-promotion/publish-podcast-stitcher/?podcast-feed=<?php echo urlencode($feed_url); ?>" target="_blank"><?php echo __('Submit podcast to Stitcher', 'powerpress'); ?></a></strong></p>
|
135 |
<label for="stitcher_url" style="font-size: 120%; display: block; font-weight: bold;"><?php echo __('Stitcher Listing URL', 'powerpress'); ?></label>
|
136 |
<input type="text" class="bpp-input-normal" id="stitcher_url" name="Feed[stitcher_url]" value="<?php echo esc_attr($FeedSettings['stitcher_url']); ?>" maxlength="255" />
|
137 |
<p class="description"><?php echo sprintf(__('e.g. %s', 'powerpress'), 'http://www.stitcher.com/podcast/your/listing-url/'); ?></p>
|
143 |
<tr valign="top">
|
144 |
<th scope="row"><?php echo __('TuneIn', 'powerpress'); ?></th>
|
145 |
<td>
|
146 |
+
<p><strong><a href="https://create.blubrry.com/manual/podcast-promotion/publish-podcast-tunein/?podcast-feed=<?php echo urlencode($feed_url); ?>" target="_blank"><?php echo __('Submit podcast to TuneIn', 'powerpress'); ?></a></strong></p>
|
147 |
<label for="tunein_url" style="font-size: 120%; display: block; font-weight: bold;"><?php echo __('TuneIn Listing URL', 'powerpress'); ?></label>
|
148 |
<input type="text" class="bpp-input-normal" id="tunein_url" name="Feed[tunein_url]" value="<?php echo esc_attr($FeedSettings['tunein_url']); ?>" maxlength="255" />
|
149 |
<p class="description"><?php echo sprintf(__('e.g. %s', 'powerpress'), 'http://tunein.com/radio/your-podcast-p000000/'); ?></p>
|
156 |
<tr valign="top">
|
157 |
<th scope="row"><?php echo __('Spotify', 'powerpress'); ?> <?php echo powerpressadmin_new(); ?></th>
|
158 |
<td>
|
159 |
+
<p><strong><a href="https://create.blubrry.com/manual/podcast-promotion/submit-podcast-to-spotify/?podcast-feed=<?php echo urlencode($feed_url); ?>" target="_blank"><?php echo __('Submit podcast to Spotify', 'powerpress'); ?></a></strong></p>
|
160 |
<label for="tunein_url" style="font-size: 120%; display: block; font-weight: bold;"><?php echo __('Spotify Listing URL', 'powerpress'); ?></label>
|
161 |
<input type="text" class="bpp-input-normal" id="spotify_url" name="Feed[spotify_url]" value="<?php echo esc_attr($FeedSettings['spotify_url']); ?>" maxlength="255" />
|
162 |
<p class="description"><?php echo sprintf(__('e.g. %s', 'powerpress'), 'https://open.spotify.com/show/abcdefghijklmnopqrstu'); ?></p>
|