WordPress.org

Ready to get started?Download WordPress

Forums

[resolved] Category Specific Theme (7 posts)

  1. kennethwatt
    Member
    Posted 5 years ago #

    Say I was to have the theme 'Magazine' for my site.
    But for the category 'Development (#1)' (category-1.php), I wanted to use the theme 'Developer'.
    Would it be ok to insert the code:
    {$template = 'Development';}
    in to the file to change it?

    Thanks
    Kenneth

  2. MichaelH
    Member
    Posted 5 years ago #

    Might review this:
    http://download.mikelopez.info/2006/10/17/wordpress-themed-categories-plugin/

    You do realize you could use totally different headers/footer/sidebars without resorting to a different theme?

  3. kennethwatt
    Member
    Posted 5 years ago #

    I would like to resort to using a different theme though :L

  4. docritoru
    Member
    Posted 4 years ago #

    And who wouldn't? Your idea for a category-specific theme option seems like a basic feature missing in WordPress--at least it is not easy to do. If you get an answer, can you let us know?

  5. docritoru
    Member
    Posted 4 years ago #

    Oops, I see you already got your answer:
    http://get-your-stuff.com/gys-themed-categories-20.html
    Thanks to Mike Lopez.

  6. lolwiki
    Member
    Posted 4 years ago #

    Hi I am looking for a plugin that will allow special formatting of the posts on category view. For example http://wiki4android.com/blog/category/games/ the category page has special formatting, but when you actually read the individual posts the format is different: http://wiki4android.com/blog/games/action/icommando/
    What kind of plugin do I use?

  7. webmaster887
    Member
    Posted 4 years ago #

    the plugin is not working fine .. i have developed a similar plugin page specific theme has the same problem .. can anyone help to find whats wrong ?
    see below listing for my plugin code

    <?php
    /*
    Plugin Name: ThemeSelect_OOPS_NEW
    Plugin URI:
    Description: This will allow admin chose a theme for a new page
    Version: 0.0.1
    Author:
    Author URI:
    License: GPL
    */
    class ThemeSelect
    {
    	function ThemeSelect()
    	{
    		add_action('admin_menu',array(&$this,'add_theme_box'));
    		add_action('save_post',array(&$this,'save_theme'));
    		add_filter('template', array(&$this,'get_post_template'));
    		add_filter('stylesheet', array(&$this,'get_post_stylesheet'));
    
    	}
    
    	function add_theme_box() /* Adds a custom field to set theme */
    	{
    	if( function_exists( 'add_meta_box' ))
    	{
    		add_meta_box( 'theme', 'Select Theme',array(&$this, 'show_theme_selector'),'page','normal', 'high');
    	}
    	}
    	function show_theme_selector($post)  /* Loads the select menu for the theme selector*/
    	{
    		$themes=get_themes();
    		$postid=$post->ID;
    		if(get_post_meta($postid,'theme',true))
    		$default_theme=get_post_meta($postid,'theme',true);
    		echo "<select name=\"thm\">";
    		foreach($themes as $theme)
    		{ ?>
    			<option value="<?php echo $theme['Name']; ?>" <?php if($default_theme==$theme['Name']) echo "selected=\"selected\""; ?>> <?php echo $theme['Title']; ?> </option>
    	<?php   }
    		echo "</select>";
    	}
    	function save_theme($postid)
    	{
    		if(isset($_POST['thm']))
    		{
    			$themedata = $_POST['thm'];
    			//if(get_post_meta($postid,'theme', true)=="")
    			//{
    			//	add_post_meta($postid,'theme',$themedata);
    			//}
    		//	else
    		//	{
    			update_post_meta($postid,'theme',$themedata);
    		//	}
    	}
    }
    
    function get_post_template($template='')
    {
    	global $post;
    	$sel_theme = get_post_meta($post->ID, 'theme', true);
    	if(!empty($sel_theme))
    	{
    		$theme=get_theme($sel_theme);
    		$template = stripslashes($theme['Template']);
    		//$template=get_theme_root()."/{$template}/page.php";
    	}
    	return $template;
    }
    
     function get_post_stylesheet($stylesheet='')
     {
     	global $post;
     	$sel_theme = get_post_meta($post->ID, 'theme', true);
     	if(!empty($sel_theme))
     	{
     		$theme=get_theme($sel_theme);
     		$stylesheet = stripslashes($theme['Stylesheet']);
     	}
     	return $stylesheet;
     }
    }
    $theme_select=new ThemeSelect();
    ?>

Topic Closed

This topic has been closed to new replies.

About this Topic