web/wp-content/themes/malleable/functions.php
author ymh <ymh.work@gmail.com>
Mon, 22 Mar 2010 16:36:28 +0100
changeset 5 ac511f1ccc8e
parent 1 0d28b7c10758
permissions -rw-r--r--
add hgignore
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
0d28b7c10758 First commit
ymh
parents:
diff changeset
     1
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
     2
0d28b7c10758 First commit
ymh
parents:
diff changeset
     3
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
     4
* This is Malleable's functions.php file.
0d28b7c10758 First commit
ymh
parents:
diff changeset
     5
* You should make edits and add additional code above this point.
0d28b7c10758 First commit
ymh
parents:
diff changeset
     6
* Only change the functions below if you know what you're doing.
0d28b7c10758 First commit
ymh
parents:
diff changeset
     7
*/
0d28b7c10758 First commit
ymh
parents:
diff changeset
     8
0d28b7c10758 First commit
ymh
parents:
diff changeset
     9
/********************************************************/
0d28b7c10758 First commit
ymh
parents:
diff changeset
    10
0d28b7c10758 First commit
ymh
parents:
diff changeset
    11
/* Constant paths. */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    12
	define( MALLEABLE, get_stylesheet_directory() );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    13
	define( MALLEABLE_URL, get_stylesheet_directory_uri() );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    14
0d28b7c10758 First commit
ymh
parents:
diff changeset
    15
/* For localization. */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    16
	load_theme_textdomain( 'malleable', MALLEABLE );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    17
0d28b7c10758 First commit
ymh
parents:
diff changeset
    18
/* Hybrid News theme settings. */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    19
	$malleable_settings = get_option( 'malleable_theme_settings' );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    20
0d28b7c10758 First commit
ymh
parents:
diff changeset
    21
/* Include admin files. */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    22
	if ( is_admin() )
0d28b7c10758 First commit
ymh
parents:
diff changeset
    23
		require_once( MALLEABLE . '/library/admin/theme-settings.php' );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    24
0d28b7c10758 First commit
ymh
parents:
diff changeset
    25
/* Actions. */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    26
	add_action( 'hybrid_head', 'malleable_front_page_template' );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    27
	add_action( 'wp_head',     'malleable_remove_actions' );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    28
	add_action( 'hybrid_header', 'hybrid_search_form' );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    29
	add_action( 'hybrid_after_page_nav', 'malleable_cat_nav' );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    30
	add_action( 'hybrid_after_container', 'malleable_widget_container', 11 );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    31
	add_action( 'hybrid_after_single','malleable_author_box' );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    32
	add_action( 'hybrid_header', 'malleable_show_address', 11 );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    33
	add_action( 'hybrid_footer', 'malleable_show_address', 11 );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    34
0d28b7c10758 First commit
ymh
parents:
diff changeset
    35
/* Filters. */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    36
	add_filter( 'hybrid_post_meta_boxes', 'malleable_post_meta_boxes' );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    37
0d28b7c10758 First commit
ymh
parents:
diff changeset
    38
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
    39
 * Removes default Hybrid theme actions
0d28b7c10758 First commit
ymh
parents:
diff changeset
    40
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
    41
 * @since 0.1
0d28b7c10758 First commit
ymh
parents:
diff changeset
    42
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    43
function malleable_remove_actions() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    44
	remove_action( 'hybrid_after_container', 'hybrid_get_primary' );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    45
	remove_action( 'hybrid_after_container', 'hybrid_get_secondary' );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    46
	remove_action( 'hybrid_before_content', 'hybrid_breadcrumb' );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    47
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    48
0d28b7c10758 First commit
ymh
parents:
diff changeset
    49
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
    50
 * Displays the category menu.
0d28b7c10758 First commit
ymh
parents:
diff changeset
    51
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
    52
 * @since 0.2
0d28b7c10758 First commit
ymh
parents:
diff changeset
    53
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    54
function malleable_cat_nav() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    55
0d28b7c10758 First commit
ymh
parents:
diff changeset
    56
	$args = array(
0d28b7c10758 First commit
ymh
parents:
diff changeset
    57
		'style' => 'list',
0d28b7c10758 First commit
ymh
parents:
diff changeset
    58
		'hide_empty' => true,
0d28b7c10758 First commit
ymh
parents:
diff changeset
    59
		'use_desc_for_title' => false,
0d28b7c10758 First commit
ymh
parents:
diff changeset
    60
		'depth' => 4,
0d28b7c10758 First commit
ymh
parents:
diff changeset
    61
		'hierarchical' => true,
0d28b7c10758 First commit
ymh
parents:
diff changeset
    62
		'echo' => false,	// Leave as is.
0d28b7c10758 First commit
ymh
parents:
diff changeset
    63
		'title_li' => false,	// Leave as is.
0d28b7c10758 First commit
ymh
parents:
diff changeset
    64
	);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    65
0d28b7c10758 First commit
ymh
parents:
diff changeset
    66
	echo "\n\t<div id='cat-navigation'>\n\t\t";
0d28b7c10758 First commit
ymh
parents:
diff changeset
    67
0d28b7c10758 First commit
ymh
parents:
diff changeset
    68
	echo '<div id="cat-nav" class="cat-nav"><ul class="menu sf-menu">' . str_replace( array( "\t", "\n", "\r" ), '', wp_list_categories( $args ) ) . '</ul></div>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
    69
0d28b7c10758 First commit
ymh
parents:
diff changeset
    70
	echo '<div id="feed"><ul>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
    71
	echo '<li class="feed-url"><a href="' . get_bloginfo( 'rss2_url' ) . '" title="' . __('Subscribe to the feed', 'malleable') . '">' . __('Subscribe', 'malleable') . '</a></li>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
    72
	echo '</ul></div>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
    73
0d28b7c10758 First commit
ymh
parents:
diff changeset
    74
	echo "\n\t</div>\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
    75
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    76
0d28b7c10758 First commit
ymh
parents:
diff changeset
    77
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
    78
 * Adds JavaScript and CSS to Front Page page template.
0d28b7c10758 First commit
ymh
parents:
diff changeset
    79
 * Also removes the breadcrumb menu.
0d28b7c10758 First commit
ymh
parents:
diff changeset
    80
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
    81
 * @since 0.1
0d28b7c10758 First commit
ymh
parents:
diff changeset
    82
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    83
function malleable_front_page_template() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    84
	if ( is_page_template( 'front-page.php' ) ) :
0d28b7c10758 First commit
ymh
parents:
diff changeset
    85
		wp_enqueue_script( 'slider', MALLEABLE_URL . '/library/js/jquery.cycle.js', array( 'jquery' ), 0.1 );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    86
		wp_enqueue_script( 'slider-functions', MALLEABLE_URL . '/library/js/jquery.functions.js', array( 'jquery' ), 0.1 );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    87
		wp_enqueue_style( 'front-page', MALLEABLE_URL . '/front-page.css', false, '0.1', 'screen' );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    88
		remove_action( 'hybrid_before_content', 'hybrid_breadcrumb' );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    89
	endif;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    90
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    91
0d28b7c10758 First commit
ymh
parents:
diff changeset
    92
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
    93
 * Wraps the Primary, Secondary, and Tertiary widget sections.
0d28b7c10758 First commit
ymh
parents:
diff changeset
    94
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
    95
 * @since 0.1
0d28b7c10758 First commit
ymh
parents:
diff changeset
    96
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    97
function malleable_widget_container() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    98
	if ( is_active_sidebar( 'primary' ) || is_active_sidebar( 'secondary' ) || is_active_sidebar( 'tertiary' ) ) :
0d28b7c10758 First commit
ymh
parents:
diff changeset
    99
		echo '<div id="widget-container">';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   100
			hybrid_get_primary();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   101
			hybrid_get_secondary();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   102
		echo '</div>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   103
	endif;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   104
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   105
0d28b7c10758 First commit
ymh
parents:
diff changeset
   106
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
   107
 * Shows an author description after the post.
0d28b7c10758 First commit
ymh
parents:
diff changeset
   108
 * Only shows on single post.
0d28b7c10758 First commit
ymh
parents:
diff changeset
   109
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   110
 * @since 0.1
0d28b7c10758 First commit
ymh
parents:
diff changeset
   111
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
   112
function malleable_author_box() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   113
	global $hybrid_settings;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   114
?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   115
	<div class="author-profile vcard">
0d28b7c10758 First commit
ymh
parents:
diff changeset
   116
		<?php echo get_avatar( get_the_author_email(), '96', $hybrid_settings['default_avatar'] ); ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   117
		<h4 class="author-name fn n"><?php the_author_posts_link(); ?></h4>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   118
		<p class="author-description author-bio">
0d28b7c10758 First commit
ymh
parents:
diff changeset
   119
			<?php the_author_description(); ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   120
		</p>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   121
	</div>
0d28b7c10758 First commit
ymh
parents:
diff changeset
   122
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
   123
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   124
0d28b7c10758 First commit
ymh
parents:
diff changeset
   125
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
   126
 * Add additional post meta boxes.
0d28b7c10758 First commit
ymh
parents:
diff changeset
   127
 * - Feature image input box.
0d28b7c10758 First commit
ymh
parents:
diff changeset
   128
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
   129
 * @since 0.1
0d28b7c10758 First commit
ymh
parents:
diff changeset
   130
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
   131
function malleable_post_meta_boxes( $meta_boxes ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   132
	$meta_boxes['medium'] = array( 'name' => 'Medium', 'default' => '', 'title' => __('Medium/Feature:', 'malleable'), 'type' => 'text', 'show_description' => false, 'description' => false );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   133
	return $meta_boxes;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   134
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   135
0d28b7c10758 First commit
ymh
parents:
diff changeset
   136
function malleable_show_address(){
0d28b7c10758 First commit
ymh
parents:
diff changeset
   137
	global $malleable_settings;	
0d28b7c10758 First commit
ymh
parents:
diff changeset
   138
	if ( $malleable_settings['general_address'] == "yes" ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   139
		echo '<div class="address vcard">';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   140
			echo '<div class="fn n org">'. get_bloginfo('title') .'</div>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   141
			echo '<div class="adr">';		
0d28b7c10758 First commit
ymh
parents:
diff changeset
   142
				echo '<span class="street-address">'. $malleable_settings['general_address_street']. '</span>, ';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   143
				echo '<span class="locality">'.   $malleable_settings['general_address_city']. '</span>, ';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   144
				echo '<span class="region">'.  $malleable_settings['general_address_state']. '</span>, ';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   145
				echo '<span class="postal-code">'.    $malleable_settings['general_address_zip']. '</span> -- ';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   146
				echo '<span class="tel">'.  $malleable_settings['general_address_phone']. '</span>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   147
			echo '</div>';		
0d28b7c10758 First commit
ymh
parents:
diff changeset
   148
		echo '</div>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   149
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   150
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   151
0d28b7c10758 First commit
ymh
parents:
diff changeset
   152
?>