Files
wordpress-theme-aksrt/templates/parts/user-center/creator-posts.php
T

35 lines
3.7 KiB
PHP

<?php
defined('ABSPATH') || exit;
$context = is_array($args['context'] ?? null) ? $args['context'] : [];
extract($context, EXTR_SKIP); // phpcs:ignore WordPress.PHP.DontExtract.extract_extract
$creator_args = is_array($args['creator_args'] ?? null) ? $args['creator_args'] : [];
$status = (string) ($creator_args['status'] ?? 'all');
$statuses = $status === 'all' ? ['publish', 'draft', 'pending', 'private'] : [$status];
$page = max(1, (int) ($_GET['creator_page'] ?? 1));
$q = new WP_Query(['author' => (int) $user_id, 'post_type' => 'post', 'post_status' => $statuses, 'posts_per_page' => 10, 'paged' => $page, 'no_found_rows' => false]);
$front_submit = class_exists('\\AKSRT\\Core\\FrontSubmit') ? \AKSRT\Core\FrontSubmit::get_instance() : null;
$status_labels = ['publish' => __('已发布', 'aksrt'), 'draft' => __('草稿', 'aksrt'), 'pending' => __('待审核', 'aksrt'), 'private' => __('私密', 'aksrt')];
?>
<?php if ($q->have_posts()) : ?>
<div class="creator-post-list">
<?php while ($q->have_posts()) : $q->the_post();
$post_id = get_the_ID();
$post_status = get_post_status();
$edit_url = $front_submit && $front_submit->can_edit_post($post_id, (int) $user_id) ? aksrt_get_new_post_url($post_id) : '';
$can_delete = $front_submit && $front_submit->can_delete_post($post_id, (int) $user_id);
$price = (float) get_post_meta($post_id, '_aksrt_pay_price', true);
?>
<article class="creator-post-row" data-post-id="<?php echo esc_attr((string) $post_id); ?>">
<a class="creator-post-row__thumb" href="<?php echo esc_url(get_permalink($post_id)); ?>" aria-label="<?php echo esc_attr(get_the_title()); ?>">
<?php if (has_post_thumbnail($post_id)) : the_post_thumbnail('medium'); else : ?><span><i class="fa fas fa-pen" aria-hidden="true"></i></span><?php endif; ?>
</a>
<div class="creator-post-row__body"><div class="creator-post-row__heading"><h4><a href="<?php echo esc_url(get_permalink($post_id)); ?>"><?php echo esc_html(get_the_title()); ?></a></h4><span class="creator-post-row__status creator-post-row__status--<?php echo esc_attr($post_status); ?>"><?php echo esc_html($status_labels[$post_status] ?? $post_status); ?></span></div><p><?php echo esc_html(wp_trim_words(get_the_excerpt(), 20, '…')); ?></p><div class="creator-post-row__meta"><time datetime="<?php echo esc_attr(get_the_date('c')); ?>"><?php echo esc_html(get_the_date()); ?></time><span><?php echo $price > 0 ? esc_html__('付费内容', 'aksrt') : esc_html__('免费内容', 'aksrt'); ?></span></div></div>
<div class="creator-post-row__actions"><?php if ($edit_url) : ?><a href="<?php echo esc_url($edit_url); ?>" class="creator-post-row__action"><?php esc_html_e('编辑', 'aksrt'); ?></a><?php endif; ?><a href="<?php echo esc_url(get_permalink($post_id)); ?>" class="creator-post-row__action"><?php esc_html_e('查看', 'aksrt'); ?></a><?php if ($can_delete) : ?><button type="button" class="creator-post-row__action creator-post-row__action--danger" data-action="delete-post" data-post-id="<?php echo esc_attr((string) $post_id); ?>" data-nonce="<?php echo esc_attr(wp_create_nonce('aksrt_submit')); ?>"><?php esc_html_e('删除', 'aksrt'); ?></button><?php endif; ?></div>
</article>
<?php endwhile; ?>
</div>
<?php aksrt_render_profile_pagination((int) $q->max_num_pages, $page, 'creator_page'); wp_reset_postdata(); ?>
<?php else : ?>
<div class="creator-workspace__empty"><i class="fa fas fa-pen" aria-hidden="true"></i><h4><?php esc_html_e('还没有文章', 'aksrt'); ?></h4><p><?php esc_html_e('开始创作你的第一篇文章吧。', 'aksrt'); ?></p><?php if (!empty($new_post_url)) : ?><a class="btn-primary btn-sm" href="<?php echo esc_url($new_post_url); ?>"><?php esc_html_e('写新文章', 'aksrt'); ?></a><?php endif; ?></div>
<?php endif; ?>