WordPress.org

Ready to get started?Download WordPress

Forums

podPress
[resolved] How do I change the iTunes Title? (17 posts)

  1. MCM
    Member
    Posted 1 year ago #

    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/

  2. ntm
    Member
    Plugin Author

    Posted 1 year ago #

    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.

  3. MCM
    Member
    Posted 1 year ago #

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

  4. MCM
    Member
    Posted 1 year ago #

    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?

  5. ntm
    Member
    Plugin Author

    Posted 1 year ago #

    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?

  6. MCM
    Member
    Posted 1 year ago #

    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

  7. ntm
    Member
    Plugin Author

    Posted 1 year ago #

    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;.

  8. MCM
    Member
    Posted 1 year ago #

    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') )

  9. MCM
    Member
    Posted 1 year ago #

    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.

  10. ntm
    Member
    Plugin Author

    Posted 1 year ago #

    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.

  11. MCM
    Member
    Posted 1 year ago #

    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?

  12. ntm
    Member
    Plugin Author

    Posted 1 year ago #

    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?

  13. MCM
    Member
    Posted 1 year ago #

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

  14. MCM
    Member
    Posted 1 year ago #

    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"

  15. MCM
    Member
    Posted 1 year ago #

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

  16. ntm
    Member
    Plugin Author

    Posted 1 year ago #

    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');

    ??

  17. MCM
    Member
    Posted 1 year ago #

    Okay after much pain everything is working 100%.

    I re-saved the CPT posts with the plugin I am using.

    And who knows what all and things are working.

    Very odd but yes it is working. My code reads as follows which results in a nice formatted. :) Thanks to you.

    SPEAKER NAME | AUDIO

    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');
    
    				if ($term_data != '')
    				{
    					// assemble and print the new Feed title:
    					return $term_data->name . ' | Audio';
    				}
    			}
    			else
    			{
    				return $content;
    			}
    		break;
    		default :
    			return $content;
    		break;
    	}
    }

Topic Closed

This topic has been closed to new replies.

About this Plugin

About this Topic