71 lines
2.2 KiB
PHP
71 lines
2.2 KiB
PHP
<?php
|
|
/**
|
|
* User center posts: list + pagination.
|
|
*
|
|
* Expects extracted $context vars.
|
|
*
|
|
* @package AKSRT
|
|
*/
|
|
|
|
defined('ABSPATH') || exit;
|
|
|
|
$ps_args = [
|
|
'author' => $user_id,
|
|
'post_status' => ('all' === $post_status_filter)
|
|
? ['publish', 'draft', 'pending', 'private']
|
|
: $post_status_filter,
|
|
'posts_per_page' => $per_page,
|
|
'paged' => $posts_page,
|
|
'no_found_rows' => false,
|
|
'update_post_meta_cache' => false,
|
|
'update_post_term_cache' => true,
|
|
];
|
|
$q = new WP_Query($ps_args);
|
|
$front_submit = class_exists('\\AKSRT\\Core\\FrontSubmit') ? \AKSRT\Core\FrontSubmit::get_instance() : null;
|
|
if ($q->have_posts()) :
|
|
?>
|
|
<div class="profile-list creator-center-post-list">
|
|
<?php
|
|
while ($q->have_posts()) :
|
|
$q->the_post();
|
|
$st = get_post_status();
|
|
$status_map = [
|
|
'publish' => __('已发布', 'aksrt'),
|
|
'draft' => __('草稿', 'aksrt'),
|
|
'pending' => __('待审', 'aksrt'),
|
|
'private' => __('私密', 'aksrt'),
|
|
'future' => __('定时', 'aksrt'),
|
|
];
|
|
$status_label = $status_map[$st] ?? $st;
|
|
$can_delete = $front_submit && $front_submit->can_delete_post(get_the_ID(), (int) $user_id);
|
|
$edit_link = $front_submit && $front_submit->can_edit_post(get_the_ID(), (int) $user_id)
|
|
? aksrt_get_new_post_url(get_the_ID())
|
|
: '';
|
|
$view_link = get_permalink();
|
|
$action = $edit_link
|
|
? ['type' => 'edit', 'url' => $edit_link, 'label' => __('编辑', 'aksrt')]
|
|
: ('publish' === $st && $view_link ? ['type' => 'view', 'url' => $view_link, 'label' => __('预览', 'aksrt')] : []);
|
|
get_template_part('templates/parts/content', 'profile-list-item', [
|
|
'action' => $action,
|
|
'status' => $status_label,
|
|
'delete_action' => [
|
|
'enabled' => $can_delete,
|
|
'nonce' => wp_create_nonce('aksrt_submit'),
|
|
],
|
|
]);
|
|
endwhile;
|
|
?>
|
|
</div>
|
|
<?php
|
|
aksrt_render_profile_pagination((int) $q->max_num_pages, $posts_page, 'posts_page');
|
|
wp_reset_postdata();
|
|
else :
|
|
aksrt_render_profile_empty(
|
|
$svg_empty_post,
|
|
__('还没有文章', 'aksrt'),
|
|
__('试试发布你的第一篇文章吧。', 'aksrt'),
|
|
!empty($new_post_url) ? $new_post_url : '',
|
|
__('写文章', 'aksrt')
|
|
);
|
|
endif;
|