// Функция отображения страницы
function tg_draft_posts_page() {
// Подключаем необходимые скрипты и стили
tg_enqueue_scripts();
echo '
AI: публикация текста
';
// Добавляем кнопку перехода к настройкам
echo '
';
// Получаем черновики
$drafts = get_posts([
'post_status' => 'draft',
'post_type' => 'post',
'numberposts' => -1,
'orderby' => 'date',
'order' => 'DESC'
]);
if (empty($drafts)) {
echo '
Черновиков не найдено
';
} else {
echo '
';
foreach ($drafts as $draft) {
// Получаем контент поста
$original_content = get_post_field('post_content', $draft->ID);
$template_content = get_option('tg_template_content', '');
$separator_code = get_option('tg_separator_code', '[[random_content group_id="87"]]');
// Обрабатываем контент в зависимости от наличия разделительного кода
$content = $original_content;
// Если есть разделительный код и шаблон
if (!empty($separator_code) && !empty($template_content) && strpos($original_content, $separator_code) !== false) {
// Разделяем контент по разделительному коду
$content_parts = explode($separator_code, $original_content, 2);
$content_before = $content_parts[0] . $separator_code;
// Всегда подставляем шаблон после разделительного кода, даже если уже есть контент
$content = $content_before . "\n\n" . $template_content;
}
// Если нет разделительного кода, но есть шаблон
elseif (!empty($template_content)) {
$content = $template_content;
}
// Получаем категории поста
$categories = get_the_category($draft->ID);
$category_names = array();
foreach ($categories as $category) {
$category_names[] = $category->name;
}
$categories_str = implode(', ', $category_names);
// Заменяем плейсхолдеры
$content = str_replace('{post_title}', $draft->post_title, $content);
$content = str_replace('{categories}', $categories_str, $content);
echo '- ';
echo '
' . esc_html($draft->post_title) . '
';
echo '';
echo '
';
echo '
';
echo '
';
echo '
';
echo '
';
echo '
';
echo '
Редактировать шаблон';
echo '
';
echo '
';
echo '
';
echo ' ';
}
echo '
';
}
echo '
';
}