Add officials templates
This commit is contained in:
@@ -44,6 +44,7 @@ class SportsPress_Officials {
|
||||
add_filter( 'sportspress_meta_boxes', array( $this, 'add_meta_boxes' ) );
|
||||
add_filter( 'sportspress_calendar_columns', array( $this, 'calendar_columns' ) );
|
||||
add_filter( 'sportspress_after_event_template', array( $this, 'add_event_template' ), 30 );
|
||||
add_filter( 'sportspress_event_options', array( $this, 'add_event_options' ) );
|
||||
add_filter( 'sportspress_screen_ids', array( $this, 'screen_ids' ) );
|
||||
add_filter( 'sportspress_post_types', array( $this, 'add_post_type' ) );
|
||||
add_filter( 'sportspress_primary_post_types', array( $this, 'add_post_type' ) );
|
||||
@@ -413,6 +414,25 @@ class SportsPress_Officials {
|
||||
) );
|
||||
}
|
||||
|
||||
/**
|
||||
* Add event options.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function add_event_options( $options ) {
|
||||
$options[] = array(
|
||||
'title' => __( 'Officials', 'sportspress' ),
|
||||
'id' => 'sportspress_event_officials_format',
|
||||
'default' => 'table',
|
||||
'type' => 'radio',
|
||||
'options' => array(
|
||||
'table' => __( 'Table', 'sportspress' ),
|
||||
'list' => __( 'List', 'sportspress' ),
|
||||
),
|
||||
);
|
||||
return $options;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add screen ids.
|
||||
*
|
||||
|
||||
35
templates/event-officials-list.php
Normal file
35
templates/event-officials-list.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/**
|
||||
* Event Officials List
|
||||
*
|
||||
* @author ThemeBoy
|
||||
* @package SportsPress/Templates
|
||||
* @version 2.5
|
||||
*/
|
||||
|
||||
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
||||
|
||||
$scrollable = get_option( 'sportspress_enable_scrollable_tables', 'yes' ) == 'yes' ? true : false;
|
||||
?>
|
||||
<div class="sp-template sp-template-event-officials sp-template-details">
|
||||
<h4 class="sp-table-caption"><?php _e( 'Officials', 'sportspress' ); ?></h4>
|
||||
<div class="sp-list-wrapper">
|
||||
<dl class="sp-event-officials">
|
||||
<?php
|
||||
foreach ( $labels as $key => $label ) {
|
||||
$appointed_officials = (array) sp_array_value( $data, $key, array() );
|
||||
if ( empty( $appointed_officials ) ) continue;
|
||||
|
||||
echo '<dt>' . $label . '</dt>';
|
||||
|
||||
foreach ( $appointed_officials as $official_id => $official_name ) {
|
||||
if ( $link_officials && sp_post_exists( $official_id ) ) {
|
||||
$official_name = '<a href="' . get_post_permalink( $official_id ) . '">' . $official_name . '</a>';
|
||||
}
|
||||
echo '<dd>' . $official_name . '</dd>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
43
templates/event-officials-table.php
Normal file
43
templates/event-officials-table.php
Normal file
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
/**
|
||||
* Event Officials Table
|
||||
*
|
||||
* @author ThemeBoy
|
||||
* @package SportsPress/Templates
|
||||
* @version 2.5
|
||||
*/
|
||||
|
||||
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
||||
|
||||
$scrollable = get_option( 'sportspress_enable_scrollable_tables', 'yes' ) == 'yes' ? true : false;
|
||||
?>
|
||||
<div class="sp-template sp-template-event-officials">
|
||||
<h4 class="sp-table-caption"><?php _e( 'Officials', 'sportspress' ); ?></h4>
|
||||
<div class="sp-table-wrapper">
|
||||
<table class="sp-event-officials sp-data-table<?php echo $scrollable ? ' sp-scrollable-table' : ''; ?>">
|
||||
<thead>
|
||||
<tr>
|
||||
<?php
|
||||
foreach ( $labels as $label ) {
|
||||
echo '<th class="data-name">' . $label . '</th>';
|
||||
}
|
||||
?>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<?php
|
||||
foreach ( $data as $appointed_officials ) {
|
||||
foreach ( $appointed_officials as $official_id => $official_name ) {
|
||||
if ( $link_officials && sp_post_exists( $official_id ) ) {
|
||||
$appointed_officials[ $official_id ] = '<a href="' . get_post_permalink( $official_id ) . '">' . $official_name . '</a>';
|
||||
}
|
||||
}
|
||||
echo '<td class="data-name">' . implode( '<br>', $appointed_officials ) . '</td>';
|
||||
}
|
||||
?>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@@ -4,7 +4,7 @@
|
||||
*
|
||||
* @author ThemeBoy
|
||||
* @package SportsPress/Templates
|
||||
* @version 1.4
|
||||
* @version 2.5
|
||||
*/
|
||||
|
||||
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
||||
@@ -24,38 +24,21 @@ if ( empty( $data ) ) return;
|
||||
$labels = $data[0];
|
||||
unset( $data[0] );
|
||||
|
||||
$scrollable = get_option( 'sportspress_enable_scrollable_tables', 'yes' ) == 'yes' ? true : false;
|
||||
$link_officials = get_option( 'sportspress_link_officials', 'no' ) == 'yes' ? true : false;
|
||||
?>
|
||||
$format = get_option( 'sportspress_event_officials_format', 'table' );
|
||||
|
||||
<div class="sp-template sp-template-event-officials">
|
||||
<h4 class="sp-table-caption"><?php _e( 'Officials', 'sportspress' ); ?></h4>
|
||||
|
||||
<div class="sp-table-wrapper">
|
||||
<table class="sp-event-officials sp-data-table<?php echo $scrollable ? ' sp-scrollable-table' : ''; ?>">
|
||||
<thead>
|
||||
<tr>
|
||||
<?php
|
||||
foreach ( $labels as $label ) {
|
||||
echo '<th class="data-name">' . $label . '</th>';
|
||||
}
|
||||
?>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<?php
|
||||
foreach ( $data as $appointed_officials ) {
|
||||
foreach ( $appointed_officials as $official_id => $official_name ) {
|
||||
if ( $link_officials && sp_post_exists( $official_id ) ) {
|
||||
$appointed_officials[ $official_id ] = '<a href="' . get_post_permalink( $official_id ) . '">' . $official_name . '</a>';
|
||||
}
|
||||
}
|
||||
echo '<td class="data-name">' . implode( '<br>', $appointed_officials ) . '</td>';
|
||||
}
|
||||
?>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
switch ( $format ):
|
||||
case 'list':
|
||||
sp_get_template( 'event-officials-list.php', array(
|
||||
'labels' => $labels,
|
||||
'data' => $data,
|
||||
'link_officials' => $link_officials,
|
||||
) );
|
||||
break;
|
||||
default:
|
||||
sp_get_template( 'event-officials-table.php', array(
|
||||
'labels' => $labels,
|
||||
'data' => $data,
|
||||
'link_officials' => $link_officials,
|
||||
) );
|
||||
endswitch;
|
||||
Reference in New Issue
Block a user