functions.phpは起動時に読み込まれる。 その時点ではまだ query コンテンツが読み込まれてないので、ページに関する情報は持っていない。 だから is_home() や is_page() は必ず false を返してしまう。 これを解決するためには、is_home() や is_page() を function の中に入れ込んで、フック内で使用する。 例) #highlight(linenumber,php){{ // feed url を変更 add_action('wp', 'my_mod_feed'); function my_mod_feed() { if(is_front_page()) { remove_action( 'wp_head', 'feed_links_extra', 3 ); // エクストラフィードの削除 }else{ add_action( 'wp_head', 'feed_links_extra', 3 ); // エクストラフィードの追加 } echo '<link rel="alternate" type="application/rss+xml" title="RSS" href="'.get_bloginfo('rss2_url').'" >'; } }}