>
'advantage-page-meta',
'title' => __('Template Options (advantage)', 'advantage'),
'context' => 'side', //normal, advaned, side
'priority' => 'low', //high, core, default, low
'fields' => array(
array(
'name' => __('Post Category :','advantage'),
'desc' => '',
'id' => '_advantage_category',
'type' => 'category',
'default' => ''
),
array(
'name' => __( 'Posts per page :', 'advantage' ),
'desc' => '',
'id' => '_advantage_postperpage',
'type' => 'number',
'default' => '',
),
array(
'name' => __('Page Title :', 'advantage'),
'desc' => __('check to hide page title','advantage'),
'id' => '_advantage_title',
'type' => 'checkbox',
'default' => '',
),
array(
'name' => __('Sidebar :', 'advantage'),
'desc' => __('check to display sidebar','advantage'),
'id' => '_advantage_sidebar',
'type' => 'checkbox',
'default' => '',
),
array(
'name' => __('Layout :', 'advantage'),
'desc' => __('Columns','advantage'),
'id' => '_advantage_column',
'type' => 'select',
'default' => '',
'options' => array(
array( 'key' => '1',
'name' => '1' ),
array( 'key' => '2',
'name' => '2' ),
array( 'key' => '', //Dedault
'name' => '3' ),
array( 'key' => '4',
'name' => '4' ),
),
),
array(
'name' => __('Image Size : ', 'advantage'),
'desc' => '',
'id' => '_advantage_thumbnail',
'type' => 'select',
'default' => '',
'options' => advantage_thumbnail_array(),
),
array(
'name' => __('Custom Size (Width) :', 'advantage'),
'desc' => '',
'id' => '_advantage_size_x',
'type' => 'number',
'default' => '',
),
array(
'name' => __('Custom Size (Height) :', 'advantage'),
'desc' => '',
'id' => '_advantage_size_y',
'type' => 'number',
'default' => '',
),
array(
'name' => __('Intro Text :
', 'advantage'),
'desc' => '',
'id' => '_advantage_intro',
'type' => 'radio',
'default' => '',
'options' => array(
array( 'key' => '',
'name' => __('Excerpt
','advantage') ),
array( 'key' => '2',
'name' => __('Content
','advantage') ),
array( 'key' => '3',
'name' => __('None
','advantage') ),
),
),
array(
'name' => __('Post Meta :', 'advantage'),
'desc' => __('check to display post meta','advantage'),
'id' => '_advantage_disp_meta',
'type' => 'checkbox',
'default' => '',
),
array(
'name' => 'Data',
'desc' => 'Data',
'id' => '_advantage_pt_data',
'type' => 'hidden',
'default' => '',
),
)
);
$advantage_meta_box['post'] = array(
'id' => 'advantage-post-meta',
'title' => __('advantage Post Options', 'advantage'),
'context' => 'side', //normal, advaned, side
'priority' => 'high', //high, core, default, low
'fields' => array(
array(
'name' => __('Layout :', 'advantage'),
'desc' => '',
'id' => '_advantage_layout',
'type' => 'select',
'default' => '',
'options' => array(
array( 'key' => '', //Dedault
'name' => __( 'Default', 'advantage' ) ),
array( 'key' => '1',
'name' => __( 'Fullwidth', 'advantage' ) ),
array( 'key' => '2',
'name' => __( 'Fullscreen', 'advantage' ) ) ),
),
array(
'name' => '',
'desc' => __('Featured Post','advantage'),
'id' => '_advantage_featured',
'type' => 'checkbox',
'default' => '',
),
array(
'name' => __('Read More Label :', 'advantage'),
'desc' => '',
'id' => '_advantage_readmore',
'type' => 'text',
'default' => '',
),
)
);
foreach( $advantage_meta_box as $post_type => $value ) {
add_meta_box( $value['id'], $value['title'], 'advantage_meta_display', $post_type, $value['context'], $value['priority'] );
}
}
add_action( 'admin_menu', 'advantage_meta_box' );
//Display Meta Box
function advantage_meta_display() {
global $advantage_meta_box, $post;
// Use nonce for verification
echo '';
foreach ( $advantage_meta_box[ $post->post_type ]['fields'] as $field ) {
$meta = get_post_meta( $post->ID, $field['id'], true);
if ('hidden' != $field['type'] )
echo '' . $field['name'] . ' ';
switch ( $field['type'] ) {
case 'text':
echo '';
break;
case 'hidden':
echo '';
break;
case 'textarea':
echo '' . '
' . $field['desc'];
break;
case 'number':
echo '';
break;
case 'select':
echo ' ' . $field['desc'];
break;
case 'category':
echo '';
break;
case 'radio':
foreach ( $field['options'] as $option ) {
echo '';
}
break;
case 'checkbox':
echo '';
break;
}
echo '
';
}
}
// Save data from meta box
function advantage_meta_save( $post_id ) {
global $advantage_meta_box, $post;
//Verify nonce
if ( ! isset( $_POST['advantage_meta_box_nonce'] ) )
return $post_id;
if ( ! wp_verify_nonce( $_POST['advantage_meta_box_nonce'], basename( __FILE__ ) ) )
return $post_id;
//Check autosave
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
return $post_id;
//Check permissions
if ( 'page' == $_POST['post_type'] ) {
if ( ! current_user_can( 'edit_page', $post_id ) )
return $post_id;
} elseif ( ! current_user_can( 'edit_post', $post_id ) ) {
return $post_id;
}
foreach ( $advantage_meta_box[ $post->post_type ]['fields'] as $field ) {
$old = get_post_meta( $post_id, $field['id'], true );
if ( isset( $_POST[ $field['id'] ] ) ) {
$new = $_POST[ $field['id'] ];
if ( $field['type'] == 'number')
$new = (int) $new;
}
else
$new = '';
if ( $new && $new != $old )
update_post_meta( $post_id, $field['id'], $new );
elseif ( '' == $new && $old )
delete_post_meta( $post_id, $field['id'], $old );
}
}
add_action( 'save_post', 'advantage_meta_save' );
function advantage_load_template_scripts( $hooks ) {
global $post_type;
$tmp_path = get_template_directory_uri();
if ( 'page' == $post_type ) {
wp_enqueue_script( 'advantage-template', $tmp_path . '/js/template.js', array( 'jquery') );
}
if ( 'widgets.php' == $hooks ) {
wp_enqueue_media();
wp_enqueue_style( 'advantage-widgets', $tmp_path . '/css/widgets.css', null, '1.0' );
wp_enqueue_script( 'advantage-widgets', $tmp_path . '/js/widgets.js', array( 'jquery-ui-sortable' ) );
}
}
add_action( 'admin_enqueue_scripts', 'advantage_load_template_scripts' );