is_main_query() ) { // Filtrar claramente los posts que tienen '_post_from_ai_feed' con valor $query->set('meta_query', [ [ 'key' => '_post_from_ai_feed', 'value' => 0, 'compare' => '>', 'type' => 'NUMERIC' ] ]); // Opcional: Cambia el título de la página claramente add_filter('admin_title', function($admin_title){ return __('Historial de Importaciones', 'ai-feeds') . ' ‹ ' . get_bloginfo('name'); }); // Cambia claramente el encabezado de la página: add_filter('gettext', function($translated_text, $text, $domain){ if($text === 'Posts' && $domain === 'default') { return __('Historial de Importaciones', 'ai-feeds'); } return $translated_text; }, 10, 3); } } // Fuerza claramente las columnas Feed Original y Link Original en vista historial (primero) add_filter('manage_edit-post_columns', 'aife_forzar_columnas_historial', PHP_INT_MAX); function aife_forzar_columnas_historial($columns) { $aife_historial = filter_input( INPUT_GET, 'aife_historial', FILTER_SANITIZE_STRING ); if ($aife_historial == '1') { $nuevas_columnas = [ 'feed_original' => '' . esc_html__('Feed', 'ai-feeds') . '', 'link_original' => '' . esc_html__('Link', 'ai-feeds') . '', ]; return array_merge($nuevas_columnas, $columns); } return $columns; } // Rellena claramente el contenido de las columnas Feed Original y Link Original add_action('manage_post_posts_custom_column', 'aife_rellenar_columnas_historial', 10, 2); function aife_rellenar_columnas_historial($column, $post_id) { $aife_historial = filter_input( INPUT_GET, 'aife_historial', FILTER_SANITIZE_STRING ); if ($aife_historial == '1') { if ($column === 'feed_original') { $feed_original_id = get_post_meta($post_id, '_post_from_ai_feed', true); if ($feed_original_id) { $feed_post = get_post($feed_original_id); if ($feed_post) { $edit_link = get_edit_post_link($feed_original_id); echo 'Feed'; } else { echo esc_html__('Feed no encontrado', 'ai-feeds'); } } else { echo esc_html__('Sin feed asociado', 'ai-feeds'); } } if ($column === 'link_original') { $feed_original_id = get_post_meta($post_id, '_post_from_ai_feed', true); if ($feed_original_id) { $original_url = get_post_meta($feed_original_id, '_original_url', true); if ($original_url) { echo '' . esc_html__('Original', 'ai-feeds') . ''; } else { echo esc_html__('URL no disponible', 'ai-feeds'); } } else { echo esc_html__('-', 'ai-feeds'); } } } } //Agrego la columna AiFeed imported a la página general de posts. // Agregar la columna add_filter('manage_edit-post_columns', 'aife_agregar_columna_importado', 999); function aife_agregar_columna_importado($columns) { $columns['ai_feed_imported'] = __('AI Feed Imported', 'ai-feeds'); return $columns; } // Mostrar contenido de la columna add_action('manage_post_posts_custom_column', 'aife_contenido_columna_importado', 10, 2); function aife_contenido_columna_importado($column, $post_id) { if ($column === 'ai_feed_imported') { $importado = get_post_meta($post_id, '_post_from_ai_feed', true); echo $importado ? '✅' : ''; } } // Dar ancho fijo a la columna add_action('admin_head-edit.php', 'aife_estilos_columna_importado'); function aife_estilos_columna_importado() { } // Filtrar claramente las entradas según meta "_procesado_en_cola" add_action('pre_get_posts', 'aife_filtrar_cola_trabajo'); function aife_filtrar_cola_trabajo($query) { if (!is_admin() || !$query->is_main_query()) { return; } $aife_cola = filter_input( INPUT_GET, 'aife_cola', FILTER_SANITIZE_STRING ); if ($aife_cola && $query->get('post_type') === 'aife_original') { $meta_query = [ [ 'key' => '_procesado_en_cola', 'compare' => 'NOT EXISTS', ], ]; $query->set('meta_query', $meta_query); } } add_action('save_post_aife_original', 'aife_forzar_original_a_draft', 10, 3); function aife_forzar_original_a_draft($post_ID, $post, $update) { // Estados permitidos claramente: draft, trash (papelera) o delete permanentemente if (in_array($post->post_status, ['trash', 'auto-draft'], true)) { return; // permite enviar a papelera o borrado automático sin cambios } // Si intenta restaurar desde la papelera o guardar otro estado, fuerza a 'draft' if ($post->post_status !== 'draft') { remove_action('save_post_aife_original', 'aife_forzar_original_a_draft', 10); wp_update_post([ 'ID' => $post_ID, 'post_status' => 'draft' ]); add_action('save_post_aife_original', 'aife_forzar_original_a_draft', 10, 3); } } // Impedir claramente la restauración desde la papelera add_action('untrash_post', 'aife_impedir_restauracion_desde_papelera', 10, 2); function aife_impedir_restauracion_desde_papelera($post_id, $previous_status) { if (get_post_type($post_id) === 'aife_original') { wp_die(esc_html__('No está permitido restaurar este tipo de publicación desde la papelera.', 'ai-feeds')); } } add_filter('parent_file', 'aife_original_force_menu_active'); function aife_original_force_menu_active($parent_file) { global $post_type; if ($post_type === 'aife_original') { // Aquí debes especificar el slug exacto de tu menú personalizado return 'edit.php?post_type=aife_original&aife_cola=1'; } return $parent_file; } add_filter('submenu_file', 'aife_original_force_submenu_active'); function aife_original_force_submenu_active($submenu_file) { global $post_type, $pagenow; if ($post_type === 'aife_original' && $pagenow === 'post.php') { // Aquí también especifica exactamente la URL del submenú que creaste return 'edit.php?post_type=aife_original&aife_cola=1'; } return $submenu_file; }