web-dev-qa-db-fra.com

Comment récupérer un post collant en sql brut?

Comment j'ai pu faire une requête SQL qui récupère tout le post collant dans une base de données wordpress? En effet, nous utilisons une nouvelle application par rapport à l’ancienne base de données de sites Web Wordpress, et je ne sais pas où Wordpress "stocke" l’attribut sticky.

Merci d'avance

1
Nisanio

Ce n'est pas stocké comme attribut, mais comme liste de tous les stickies. Extrait du noyau:

$sticky_posts = get_option('sticky_posts');

Recherchez donc l'option, puis utilisez les identifiants pour récupérer les publications.

1
Rarst

En SQL brut, cela ressemblerait à ceci:

SELECT option_value FROM `wp_options` where option_name = 'sticky_posts'

Il retournera une chaîne semblable à:

a:2:{i:0;i:27935;i:1;i:33322;}

Ce qui signifie que les publications avec des ID: 27935 et 33322 sont "collantes". S'il n'y a pas de messages collants, la chaîne retournée se présentera comme suit:

a:0:{}

Pour plus de détails sur la vue de structure de données sérialisée Wordpress https://codex.wordpress.org/Function_Reference/maybe_serialize

Quoi qu'il en soit, si vous développez un thème ou un plug-in personnalisé, il est bien préférable d'utiliser l'extrait fourni par @Rarst que d'écrire des requêtes personnalisées.

2
jmarceli