@ai-growth/n8n-nodes-wordpress
Version:
n8n node for WordPress integration with AI GROWTH - SEO WP plugin
226 lines (225 loc) • 4.55 kB
TypeScript
export interface IWordPressCredentials {
url: string;
username: string;
password: string;
}
export interface IWordPressCredentialsType {
username: string;
password: string;
domain: string;
}
export interface IFaqItem {
question: string;
answer: string;
}
export interface ICta {
text: string;
url: string;
}
export interface IWordPressPostMetadata {
meta_title?: string;
meta_description?: string;
meta_keywords?: string;
og_title?: string;
og_description?: string;
twitter_title?: string;
twitter_description?: string;
faq?: IFaqItem[];
cta?: ICta;
}
export interface IWordPressPost extends IWordPressPostMetadata {
id?: number;
title: string;
content: string;
status: string;
excerpt?: string;
slug?: string;
featured_media?: number;
categories?: (string | number)[];
tags?: (string | number)[];
image_url?: string;
/**
* Tipo de conteúdo (post ou página)
*/
type?: 'post' | 'page';
/**
* URL da imagem destacada para upload
*/
featured_image_url?: string;
/**
* ID da imagem destacada na biblioteca de mídia
*/
featured_image_id?: number;
/**
* Texto alternativo da imagem destacada
*/
featured_image_alt?: string;
/**
* Título da imagem destacada
*/
featured_image_title?: string;
/**
* Legenda da imagem destacada
*/
featured_image_caption?: string;
/**
* Descrição da imagem destacada
*/
featured_image_description?: string;
}
export interface ITaxonomyItem {
id: number;
name: string;
slug: string;
description?: string;
parent?: number;
count?: number;
}
/**
* Interface para item de taxonomia com informações completas
*/
export interface IWordPressTaxonomy extends ITaxonomyItem {
/**
* Tipo de taxonomia (categoria ou tag)
*/
taxonomy: 'category' | 'post_tag';
/**
* Link para a página da taxonomia
*/
link?: string;
/**
* Meta dados adicionais da taxonomia
*/
meta?: Record<string, any>;
/**
* Categorias filhas (usado para hierarquia)
*/
children?: IWordPressTaxonomy[];
}
/**
* Opções para consulta de taxonomias
*/
export interface ITaxonomyQueryOptions {
/**
* Número da página para resultados paginados
* Default: 1
*/
page?: number;
/**
* Quantidade de itens por página
* Default: 10
*/
perPage?: number;
/**
* Filtro por termo de busca
*/
search?: string;
/**
* Filtro por ID do pai (apenas para categorias)
*/
parent?: number;
/**
* Incluir contagem de posts
*/
includePostCount?: boolean;
}
/**
* Dados para criar/atualizar um item de taxonomia
*/
export interface ITaxonomyCreateData {
/**
* Nome da taxonomia
*/
name: string;
/**
* Slug personalizado (opcional)
*/
slug?: string;
/**
* Descrição da taxonomia (opcional)
*/
description?: string;
/**
* ID da taxonomia pai (apenas para categorias)
*/
parent?: number;
}
/**
* Interface para metadados de imagem
*/
export interface IImageMetadata {
/**
* Texto alternativo da imagem
*/
alt_text?: string;
/**
* Legenda da imagem
*/
caption?: string;
/**
* Descrição da imagem
*/
description?: string;
/**
* Título da imagem
*/
title?: string;
}
/**
* Interface para informações de uma imagem
*/
export interface IWordPressImage {
/**
* ID da imagem na biblioteca de mídia do WordPress
*/
id: number;
/**
* URL da imagem
*/
url: string;
/**
* Título da imagem
*/
title?: string;
/**
* Texto alternativo da imagem
*/
alt?: string;
/**
* Legenda da imagem
*/
caption?: string;
/**
* Descrição da imagem
*/
description?: string;
/**
* Tipo MIME da imagem
*/
mime_type?: string;
/**
* Data de criação
*/
date_created?: string;
/**
* URLs das diferentes dimensões da imagem
*/
sizes?: Record<string, string>;
}
/**
* Interface para opções de upload de imagem
*/
export interface IImageUploadOptions {
/**
* Nome do arquivo
*/
filename?: string;
/**
* Tipo MIME da imagem
*/
mimeType?: string;
/**
* Metadados da imagem
*/
metadata?: IImageMetadata;
}