Fix permissions, add post filters
This commit is contained in:
@@ -11,24 +11,26 @@ function sportspress_admin_init() {
|
||||
);
|
||||
|
||||
$caps = array(
|
||||
'publish',
|
||||
'read',
|
||||
'delete',
|
||||
'delete_others',
|
||||
'delete_private',
|
||||
'delete_published',
|
||||
'read_private',
|
||||
'edit',
|
||||
'edit_others',
|
||||
'edit_private',
|
||||
'edit_published',
|
||||
'read_private',
|
||||
'publish',
|
||||
'delete',
|
||||
'delete_others',
|
||||
'delete_private',
|
||||
'delete_published',
|
||||
);
|
||||
|
||||
// Site Admin
|
||||
$administrator = get_role( 'administrator' );
|
||||
|
||||
foreach( $post_types as $post_type ):
|
||||
$administrator->add_cap( 'read_' . $post_type );
|
||||
$administrator->add_cap( 'edit_' . $post_type );
|
||||
$administrator->add_cap( 'delete_' . $post_type );
|
||||
foreach ( $caps as $cap ):
|
||||
$administrator->add_cap( $cap . '_' . $post_type . 's' );
|
||||
endforeach;
|
||||
|
||||
@@ -34,6 +34,7 @@ function sportspress_manage_posts_custom_column( $column, $post_id ) {
|
||||
$team = get_post( $team_id );
|
||||
$outcome_slug = sportspress_array_value( sportspress_array_value( $results, $team_id, null ), 'outcome', null );
|
||||
|
||||
echo $team->post_title;
|
||||
if ( $outcome_slug && $outcome_slug != '-1' ):
|
||||
$args=array(
|
||||
'name' => $outcome_slug,
|
||||
@@ -43,10 +44,12 @@ function sportspress_manage_posts_custom_column( $column, $post_id ) {
|
||||
);
|
||||
$outcomes = get_posts( $args );
|
||||
|
||||
echo $team->post_title . ( $outcomes ? ' — ' . $outcomes[0]->post_title : '' ) . '<br>';
|
||||
else:
|
||||
echo $team->post_title . '<br>';
|
||||
if ( sizeof( $outcomes ) ):
|
||||
$outcome = reset( $outcomes );
|
||||
echo ' — ' . $outcome->post_title;
|
||||
endif;
|
||||
endif;
|
||||
echo '<br>';
|
||||
endforeach;
|
||||
elseif ( $post_type == 'sp_player' ):
|
||||
$results = get_post_meta( $post_id, 'sp_results', true );
|
||||
|
||||
13
admin/hooks/parse-query.php
Normal file
13
admin/hooks/parse-query.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
function sportspress_parse_query( $query ) {
|
||||
global $pagenow, $typenow;
|
||||
|
||||
if ( is_admin() && $pagenow == 'edit.php' ):
|
||||
|
||||
if( in_array( $typenow, array( 'sp_event', 'sp_table', 'sp_player', 'sp_list', 'sp_staff' ) ) && isset( $_GET['team'] ) ):
|
||||
$query->query_vars['meta_key'] = 'sp_team';
|
||||
$query->query_vars['meta_value'] = $_GET['team'];
|
||||
endif;
|
||||
endif;
|
||||
}
|
||||
add_filter('parse_query', 'sportspress_parse_query');
|
||||
@@ -1,15 +1,18 @@
|
||||
<?php
|
||||
function sportspress_pre_get_posts( $wp_query ) {
|
||||
if ( is_admin() ):
|
||||
$post_type = $wp_query->query['post_type'];
|
||||
function sportspress_pre_get_posts( $query ) {
|
||||
if( !is_admin() )
|
||||
return $query;
|
||||
|
||||
if ( in_array( $post_type, array( 'sp_result', 'sp_outcome', 'sp_column', 'sp_statistic' ) ) ):
|
||||
$wp_query->set( 'orderby', 'menu_order' );
|
||||
$wp_query->set( 'order', 'ASC' );
|
||||
elseif ( $post_type == 'sp_event' ):
|
||||
$wp_query->set( 'orderby', 'post_date' );
|
||||
$wp_query->set( 'order', 'ASC' );
|
||||
endif;
|
||||
$post_type = $query->query['post_type'];
|
||||
|
||||
if ( in_array( $post_type, array( 'sp_result', 'sp_outcome', 'sp_column', 'sp_statistic' ) ) ):
|
||||
$query->set( 'orderby', 'menu_order' );
|
||||
$query->set( 'order', 'ASC' );
|
||||
elseif ( $post_type == 'sp_event' ):
|
||||
$query->set( 'orderby', 'post_date' );
|
||||
$query->set( 'order', 'ASC' );
|
||||
endif;
|
||||
|
||||
return $query;
|
||||
}
|
||||
add_filter('pre_get_posts', 'sportspress_pre_get_posts');
|
||||
|
||||
@@ -32,5 +32,16 @@ function sportspress_restrict_manage_posts() {
|
||||
);
|
||||
sportspress_dropdown_taxonomies( $args );
|
||||
endif;
|
||||
if ( in_array( $typenow, array( 'sp_event', 'sp_table', 'sp_player', 'sp_list', 'sp_staff' ) ) ):
|
||||
$selected = isset( $_REQUEST['team'] ) ? $_REQUEST['team'] : null;
|
||||
$args = array(
|
||||
'post_type' => 'sp_team',
|
||||
'name' => 'team',
|
||||
'show_option_all' => sprintf( __( 'All %s', 'sportspress' ), __( 'Teams', 'sportspress' ) ),
|
||||
'selected' => $selected,
|
||||
'values' => 'ID',
|
||||
);
|
||||
sportspress_dropdown_pages( $args );
|
||||
endif;
|
||||
}
|
||||
add_action( 'restrict_manage_posts', 'sportspress_restrict_manage_posts' );
|
||||
|
||||
@@ -6,7 +6,7 @@ function sportspress_enqueue_scripts() {
|
||||
// Scripts
|
||||
wp_enqueue_script( 'jquery' );
|
||||
wp_enqueue_script( 'google-maps', 'https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false', array(), '3.exp', true );
|
||||
wp_enqueue_script( 'jquery-datatables', SPORTSPRESS_PLUGIN_URL .'/assets/js/jquery.dataTables.min.js', array( 'jquery' ), '1.9.4', true );
|
||||
wp_enqueue_script( 'sportspress', SPORTSPRESS_PLUGIN_URL .'/assets/js/sportspress.js', array( 'jquery' ), time(), true );
|
||||
wp_enqueue_script( 'jquery-datatables', SPORTSPRESS_PLUGIN_URL .'assets/js/jquery.dataTables.min.js', array( 'jquery' ), '1.9.4', true );
|
||||
wp_enqueue_script( 'sportspress', SPORTSPRESS_PLUGIN_URL .'assets/js/sportspress.js', array( 'jquery' ), time(), true );
|
||||
}
|
||||
add_action( 'wp_enqueue_scripts', 'sportspress_enqueue_scripts' );
|
||||
Reference in New Issue
Block a user