WordPress.org

Support

Support » Plugins and Hacks » podPress » [Resolved] How do I change the iTunes Title?

[Resolved] How do I change the iTunes Title?

  • I submitted my feed (custom post and custom taxonomy) to iTunes and everything is working.

    However in iTunes it displays our podcast Channel as follows

    WEBSITE_NAME >> CUSTOM TAXONOMY >> CUSTOM TAXONOMY NAME

    e.g. My Website >> Audio: Joe Blogs

    How do I ensure that only ‘Joe Blogs’ is shown on the feed name?

    This is annoying because on seaching people see only a trimmed version of this title and thus not immediately obvious what the podcast is about.

    http://wordpress.org/extend/plugins/podpress/

Viewing 15 replies - 1 through 15 (of 16 total)
  • Plugin Author ntm

    @ntm

    The next podPress version will have a setting for this. But until than you could add a further code snippet to the functions.php of the theme:

    add_filter('bloginfo_rss', 'pff_modify_bloginfo', 10, 2);
    function pff_modify_bloginfo($content, $feedelementname) {
    	// This filter can filter the Feed title, the URL and the description
    	Switch ($feedelementname) {
    		case 'name' : // Feed name
    			// If it is the feed of the posts of the custom post type with the slug name my_custom_post_type then
    			if ( 'my_custom_post_type' === get_query_var('post_type') ) {
    				// remove the ">> ..." part of the title
    				add_filter('wp_title_rss', 'podPress_customfeedtitleonly');
    				// and set the new feed name:
    				return 'My Podcast';
    			} else {
    				return $content;
    			}
    		break;
    		default :
    			return $content;
    		break;
    	}
    }

    You need to replace my_custom_post_type with the slug name of your custom post type.

    The function podPress_customfeedtitleonly is a further filter function and looks like:

    function podPress_customfeedtitleonly($input) {
    		return '';
    	}

    It returns nothing and removes the “>> CUSTOM TAXONOMY >> CUSTOM TAXONOMY NAME” part. Don’t add this function while podPress is active!
    The function is part podPress and a further function with the same name would lead to an error.

    Thanks will give it a shot and let you know if it works

    Q1: I deactivated podpress added the code, refreshed a page, then activated plugin again get the following error:

    Fatal error: Cannot redeclare podPress_customfeedtitleonly()

    Q2: I will have many podcast channels for audio.

    e.g. Audio is my custom post type. Then I have a custom taxonomy for Speakers.

    so, I want each feed to be SPEAKER_NAME that is it.

    How do I go about this please?

    Plugin Author ntm

    @ntm

    A1:
    Well, I should have written: Do not add the second code snippet at all.
    Use only the first snippet!

    A2:
    You could use the following code snippet and copy and paste the

    Case '...':
    ...
    break;

    section and adjust the slug names and feed titles.

    add_filter('bloginfo_rss', 'pff_modify_bloginfo', 10, 2);
    function pff_modify_bloginfo($content, $feedelementname) {
    	// This filter can filter the Feed title
    	Switch ($feedelementname) {
    		case 'name' : // Feed name
    			// If it is the feed of the posts of the custom post type with the slug name my_custom_post_type then
    			Switch ( get_query_var('post_type') ) {
    				Case 'custom_post_type_speaker1' :
    					// remove the ">> ..." part of the title
    					add_filter('wp_title_rss', 'podPress_customfeedtitleonly');
    					// and set the new feed name:
    					$content = 'Podcast of speaker 1';
    				break;
    				Case 'custom_post_type_speaker_2' :
    					// remove the ">> ..." part of the title
    					add_filter('wp_title_rss', 'podPress_customfeedtitleonly');
    					// and set the new feed name:
    					$content = 'Podcast of speaker 2';
    				break;
    			}
    			return $content;
    		break;
    		default :
    			return $content;
    		break;
    	}
    }

    But if the slug names have a certain scheme and contain the full name of the speaker then it would be possible to modify the code in a way that it would create the new feed titles automatically with the information from slug name.
    Do the post type slug names have a certain scheme?

    The speaker taxonomy would just be the name of the speaker. Not sure of scheme?

    e.g.

    http://mywebsite.com/feed/?post_type=audio&speaker=joe-blogs
    http://mywebsite.com/feed/?post_type=audio&speaker=john-wayne

    etc

    Plugin Author ntm

    @ntm

    In this case the code could be this:

    add_filter('bloginfo_rss', 'pff_modify_bloginfo', 10, 2);
    function pff_modify_bloginfo($content, $feedelementname) {
    	// This filter can filter the Feed title
    	Switch ($feedelementname) {
    		case 'name' : // Feed title
    			if ( 'audio' === get_query_var('post_type') ) {
    				add_filter('wp_title_rss', 'podPress_customfeedtitleonly');
    				// retrieve the name of the taxonomy term 'speaker'
    				$term_data = get_term_by('slug', get_query_var('speaker'), 'speaker');
    				// assemble and print the new Feed title:
    				return $content.' & #187; Audio: ' . $term_data->name;
    			} else {
    				return $content;
    			}
    		break;
    		default :
    			return $content;
    		break;
    	}
    }

    Now it is adjusted to your post type and taxonomy name and the creates automatically a title with this scheme: My Website >> Audio: Joe Blogs.
    The only thing which you need to adjust is: remove the white space between & and #187;.

    I am working on this. It works on my local machine which is running php 5.4 but not on my dream-host website which is running 5.3 🙁 any tips?

    I checked that this is false on 5.3 and true on 5.4. They both have the audio post type etc.

    if ( ‘audio’ == get_query_var(‘post_type’) )

    It could be that after upgrading to 3.5.1 it is causing my code to not work any longer, as I noticed other code not working. 🙁 but I am still investigating.

    Plugin Author ntm

    @ntm

    I have PHP 5.3.1 on my test server and also WP 3.5.1. This code works on this system without problems.

    One imaginable reason for the problems could be an upgrade of the theme files. If you use a default theme and not a child theme version then all the modifications will be lost on an automatic them upgrade.

    BTW: You could take the code snippet (see above) and put it into a .php and create a tiny plugin.

    The .php file has contain some additional lines e.g.:

    <?php
    /*
    Plugin Name: podPress feed element filter
    Plugin URI:
    Description: filters some of the Feed elements
    Author: ntm
    Version: 1.0
    Author URI: http://profiles.wordpress.org/users/ntm
    */
    add_filter('bloginfo_rss', 'pff_modify_bloginfo', 10, 2);
    function pff_modify_bloginfo($content, $feedelementname) {
    
    ...
    
    }
    
    ?>

    If you upload file afterwards to the wp-content/plugins/ folder then you will find a new plugin in the list of plugins which are installed in your blog.

    I always use child themes. 🙁

    I even tried your plugin thing now. Please restart your webserver if you just installed 3.5.1 considering it come out like yesterday so to speak.

    if ( 'audio' === get_query_var('post_type') ) {`

    Is there another to perform this query?

    Plugin Author ntm

    @ntm

    if ( 'audio' === get_query_var('post_type') ) {

    Why do you think this line of code is the source of the problem?
    The function get_query_var() exists since WP 1.5. It is not a new function and does not require WP 3.5.1 nor PHP 5.4.
    Do you see a error message?

    I only thought this because if I take that out of the conditional then everything works again.

    Error message:

    This page contains the following errors:

    error on line 22 at column 54: Extra content at the end of the document
    Below is a rendering of the page up to the first error.

    The last part of the page error reads:

    … Sun, 27 Jan 2013 11:55:56 +0000 en-US hourly 1 http://wordpress.org/?v=3.5.1

    Ignore that, that is me trying to solve the issue.

    Plugin Author ntm

    @ntm

    I only thought this because if I take that out of the conditional then everything works again.

    I’m not completely sure what you take out. Could you describe that with some more details.
    Do you deactivate all lines between case 'name' : and the following break;?

    Maybe the line

    add_filter('wp_title_rss', 'podPress_customfeedtitleonly');

    is somehow a problem. What happens if you deactivate only this line like this:

    // add_filter('wp_title_rss', 'podPress_customfeedtitleonly');

    ??

Viewing 15 replies - 1 through 15 (of 16 total)
  • The topic ‘[Resolved] How do I change the iTunes Title?’ is closed to new replies.
Skip to toolbar