导入 AKSRT 主题开发源码

This commit is contained in:
Claude Code
2026-07-03 22:50:34 +08:00
parent 9681dd3d48
commit 1268a55dd0
595 changed files with 127705 additions and 0 deletions
@@ -0,0 +1,106 @@
<?php
/**
* Profile List Item — image-less list row for user center.
*
* 用于:
* - 我的文章 / 我的收藏 / 公开主页文章列表
*
* 通过 set_query_var() 接收以下参数(可选):
* - aksrt_profile_item_action: ['type'=>'edit'|'view'|'unfavorite', 'url'=>'...', 'label'=>'...']
* - aksrt_profile_item_status: 文章状态徽章文本(如 "草稿" / "私密")
*
* @package AKSRT
*/
defined('ABSPATH') || exit;
$action = get_query_var('aksrt_profile_item_action', []);
if (!is_array($action)) {
$action = [];
}
$action_type = isset($action['type']) ? (string) $action['type'] : '';
$action_url = isset($action['url']) ? (string) $action['url'] : '';
$action_label = isset($action['label']) ? (string) $action['label'] : '';
$status_label = (string) get_query_var('aksrt_profile_item_status', '');
$post_id = get_the_ID();
$permalink = get_permalink();
$title = get_the_title();
$date_iso = get_the_date('c');
$date_label = get_the_date();
$excerpt = wp_trim_words(get_the_excerpt(), 30, '…');
$comment_count = (int) get_comments_number();
$categories = get_the_category() ?: [];
$tags = get_the_tags() ?: [];
?>
<article <?php post_class('profile-list-item'); ?>>
<div class="profile-list-item__main">
<div class="profile-list-item__head">
<h3 class="profile-list-item__title">
<a href="<?php echo esc_url($permalink); ?>"><?php echo esc_html($title); ?></a>
<?php if ($status_label) : ?>
<span class="profile-list-item__status-badge"><?php echo esc_html($status_label); ?></span>
<?php endif; ?>
</h3>
<time class="profile-list-item__date" datetime="<?php echo esc_attr($date_iso); ?>" title="<?php echo esc_attr($date_label); ?>">
<?php echo esc_html($date_label); ?>
</time>
</div>
<?php if ($excerpt) : ?>
<p class="profile-list-item__excerpt"><?php echo esc_html($excerpt); ?></p>
<?php endif; ?>
<div class="profile-list-item__meta">
<?php foreach ($categories as $cat) : ?>
<a href="<?php echo esc_url(get_category_link($cat->term_id)); ?>" class="profile-list-item__chip profile-list-item__chip--category">
<i class="fas fa-folder" aria-hidden="true"></i>
<span><?php echo esc_html($cat->name); ?></span>
</a>
<?php endforeach; ?>
<?php foreach (array_slice($tags, 0, 4) as $tag) : ?>
<a href="<?php echo esc_url(get_tag_link($tag->term_id)); ?>" class="profile-list-item__chip profile-list-item__chip--tag">
#<?php echo esc_html($tag->name); ?>
</a>
<?php endforeach; ?>
<span class="profile-list-item__meta-spacer"></span>
<span class="profile-list-item__meta-item profile-list-item__meta-item--comments" title="<?php esc_attr_e('评论数', 'aksrt'); ?>">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M7.9 20A9 9 0 1 0 4 16.1L2 22Z"/></svg>
<span><?php echo esc_html((string) $comment_count); ?></span>
</span>
<?php if ($action_type && $action_url) :
$action_class = 'profile-list-item__action profile-list-item__action--' . sanitize_html_class($action_type);
$icon_svg = '';
switch ($action_type) {
case 'edit':
$icon_svg = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M12 20h9"/><path d="M16.5 3.5a2.12 2.12 0 1 1 3 3L7 19l-4 1 1-4Z"/></svg>';
break;
case 'unfavorite':
$icon_svg = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z"/></svg>';
break;
case 'view':
default:
$icon_svg = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8S1 12 1 12Z"/><circle cx="12" cy="12" r="3"/></svg>';
break;
}
if ('unfavorite' === $action_type) :
?>
<button type="button" class="<?php echo esc_attr($action_class); ?>" data-post-id="<?php echo esc_attr((string) $post_id); ?>" data-action="unfavorite" title="<?php echo esc_attr($action_label); ?>">
<span class="profile-list-item__action-icon"><?php echo $icon_svg; // phpcs:ignore ?></span>
<span class="profile-list-item__action-label"><?php echo esc_html($action_label); ?></span>
</button>
<?php else : ?>
<a href="<?php echo esc_url($action_url); ?>" class="<?php echo esc_attr($action_class); ?>" title="<?php echo esc_attr($action_label); ?>">
<span class="profile-list-item__action-icon"><?php echo $icon_svg; // phpcs:ignore ?></span>
<span class="profile-list-item__action-label"><?php echo esc_html($action_label); ?></span>
</a>
<?php endif; ?>
<?php endif; ?>
</div>
</div>
</article>