web-dev-qa-db-fra.com

Est-il possible de définir le type de données d'un champ personnalisé?

J'ajoute un nouveau "Type de message personnalisé" nommé "Séminaire". Je définis trois champs personnalisés

  1. Emplacement
  2. Heure de début
  3. Heure de fin

StartTime et EndTime vont stocker des dates (surprise, surprise). Je me demande s’il est possible de dire à WordPress de traiter ces dates similaires afin que je puisse les trier par ordre alphabétique.

Je suis très nouveau chez WP, alors pardonnez-moi s'il s'agit d'une question idiote.

3
jessegavin

Hia.

Fondamentalement non. Mais, vous pouvez commander par meta_value dans WP_Query afin de pouvoir trier. Je ne suis pas sûr du format dans lequel vous stockez les dates, mais il faudra que ce soit quelque chose que MySQL puisse commander, un simple horodatage Unix serait bien, vous feriez:

$query = new WP_Query( 'post_type=seminar&meta_key=start_time&meta_value=' . time() .  '&meta_compare=>' );

Obtenez tous les séminaires avec une date de début après "maintenant"

2
Joe Hoyle

La valeur du champ personnalisé est stockée telle quelle - et je pense que vous pouvez utiliser la réponse de Joe pour obtenir les publications. Toutefois, pour "trier" en utilisant l'heure de début, vous devrez peut-être utiliser quelque chose comme ceci:

$posts = query_posts($query_string. '&orderby=meta_value&meta_key=start_time&order=DESC' ); 

Il existe un plug-in appelé plus de champs, qui, je pense, vous permettra de le faire sans écrire de code. Vous pouvez ajouter une nouvelle zone de saisie uniquement à votre type d'article personnalisé, puis sélectionner la date dans les options avancées.

1
rfair404