コード例 #1
0
ファイル: ajax.php プロジェクト: TyRichards/ty_the_band
/**
 * Retrieve a list of records and their corresponding tracks for use in Cue.
 *
 * @since 1.5.0
 */
function audiotheme_ajax_get_playlist_records()
{
    global $wpdb;
    $data = array();
    $page = isset($_POST['paged']) ? absint($_POST['paged']) : 1;
    $posts_per_page = isset($_POST['posts_per_page']) ? absint($_POST['posts_per_page']) : 2;
    $records = new WP_Query(array('post_type' => 'audiotheme_record', 'post_status' => 'publish', 'posts_per_page' => $posts_per_page, 'paged' => $page, 'orderby' => 'title', 'order' => 'ASC'));
    if ($records->have_posts()) {
        foreach ($records->posts as $record) {
            $image = wp_get_attachment_image_src(get_post_thumbnail_id($record->ID), array(120, 120));
            $data[$record->ID] = array('id' => $record->ID, 'title' => $record->post_title, 'artist' => get_audiotheme_record_artist($record->ID), 'release' => get_audiotheme_record_release_year($record->ID), 'thumbnail' => $image[0], 'tracks' => array());
        }
        $tracks = $wpdb->get_results("SELECT p.ID, p.post_title, p2.ID AS record_id\r\n\t\t\tFROM {$wpdb->posts} p\r\n\t\t\tINNER JOIN {$wpdb->posts} p2 ON p.post_parent=p2.ID\r\n\t\t\tWHERE p.post_type='audiotheme_track' AND p.post_status='publish'\r\n\t\t\tORDER BY p.menu_order ASC");
        if ($tracks) {
            foreach ($tracks as $track) {
                if (!isset($data[$track->record_id])) {
                    continue;
                }
                $data[$track->record_id]['tracks'][] = array('id' => $track->ID, 'title' => $track->post_title);
            }
        }
        // Remove records that don't have any tracks.
        foreach ($data as $key => $item) {
            if (empty($item['tracks'])) {
                unset($data[$key]);
            }
        }
    }
    $send['maxNumPages'] = $records->max_num_pages;
    $send['records'] = array_values($data);
    wp_send_json_success($send);
}
コード例 #2
0
ファイル: record.php プロジェクト: sewmyheadon/audiotheme
/**
 * Display custom record columns.
 *
 * @since 1.0.0
 *
 * @param string $column_id The id of the column to display.
 * @param int $post_id Post ID.
 */
function audiotheme_record_display_columns($column_name, $post_id)
{
    global $post;
    switch ($column_name) {
        case 'release_year':
            echo get_audiotheme_record_release_year($post_id);
            break;
        case 'track_count':
            $args = array('post_type' => 'audiotheme_track', 'post_parent' => $post_id);
            printf('<a href="%s">%s</a>', esc_url(add_query_arg($args, admin_url('edit.php'))), get_post_meta($post_id, '_audiotheme_track_count', true));
            break;
    }
}
コード例 #3
0
        ?>
</span>
					</a>
				</p>

			<?php 
    }
    ?>

			<?php 
    the_title('<h2 class="audiotheme-record-title entry-title" itemprop="name"><a href="' . esc_url(get_permalink()) . '">', '</a></h2>');
    ?>

			<?php 
    $artist = get_audiotheme_record_artist();
    $year = get_audiotheme_record_release_year();
    if ($artist || $year) {
        ?>
				<p class="audiotheme-record-meta entry-meta">
					<?php 
        if ($artist) {
            ?>
						<strong class="audiotheme-record-meta-artist" itemprop="byArtist"><?php 
            echo esc_html($artist);
            ?>
</strong>
					<?php 
        }
        ?>

					<?php 
コード例 #4
0
    echo esc_url(get_permalink($post->post_parent));
    ?>
" itemprop="image">
			<?php 
    echo wp_get_attachment_image($thumbnail_id, 'large');
    ?>
		</a>
	</figure>

<?php 
}
?>

<?php 
$artist = get_audiotheme_record_artist();
$year = get_audiotheme_record_release_year($post->post_parent);
$genre = get_audiotheme_record_genre($post->post_parent);
if ($artist || $year || $genre) {
    ?>

	<div class="record-details record-details--track">
		<h2 class="screen-reader-text"><?php 
    esc_html_e('Record Details', 'huesos');
    ?>
</h2>
		<dl>
			<?php 
    if ($artist) {
        ?>
				<dt class="record-artist screen-reader-text"><?php 
        esc_html_e('Artist', 'huesos');
コード例 #5
0
<p class="audiotheme-field">
	<label for="record-year"><?php 
_e('Release Year', 'audiotheme');
?>
</label>
	<input type="text" name="release_year" id="record-year" value="<?php 
echo esc_attr(get_audiotheme_record_release_year($post->ID));
?>
" class="widefat">
</p>
<p class="audiotheme-field">
	<label for="record-artist"><?php 
_e('Artist', 'audiotheme');
?>
</label>
	<input type="text" name="artist" id="record-artist" value="<?php 
echo esc_attr(get_audiotheme_record_artist($post->ID));
?>
" class="widefat">
</p>
<p class="audiotheme-field">
	<label for="record-genre"><?php 
_e('Genre', 'audiotheme');
?>
</label>
	<input type="text" name="genre" id="record-genre" value="<?php 
echo esc_attr(get_audiotheme_record_genre($post->ID));
?>
" class="widefat">
</p>