[RESOLU] Trier un array par ordre alphabétique

Petit nouveau ! | 3 Messages

30 juin 2021, 15:20

Salut,

J'ai un problème, je tente de trier un affichage d'une query PHP par ordre alphabétique. Pouvez-vous m'aider ?
<?php
/**
 * Template Name: Actors
 **/
get_header(); ?>
<?php
if ( have_posts() ) :
	while ( have_posts() ) :
		the_post();
		?>
	<div id="primary" class="content-area <?php echo esc_attr( wpst_get_sidebar_position_class() ); ?> actors-list">
		<main id="main" class="site-main <?php echo esc_attr( wpst_get_sidebar_position_class() ); ?>" role="main">

		<header class="entry-header">
			<?php the_title( '<h1 class="widget-title"><i class="fa fa-star"></i>', '</h1>' ); ?>
		</header>

			<?php the_content(); ?>

		<div class="videos-list">
			<?php
			// get_query_var to get page id from url
			$page = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;

			// number of tags to show per-page
			$per_page = xbox_get_field_value( 'wpst-options', 'actors-per-page' );

			// count total number of terms related to passed taxonomy
			$number_of_series = count( get_terms( 'actors' ) );
			$offset           = ( $page - 1 ) * $per_page;

			$term_args = array(
				'number' => $per_page,
				'offset' => $offset,
			
		
			);
			$terms     = get_terms( 'actors', $term_args );
		
		
			if ( $terms ) {
				foreach ( $terms as $term ) {
					$args             = array(
						'post_type'      => 'post',
						'posts_per_page' => 1,
						'show_count'     => 1,
						'orderby'        => 'rand',
						'post_status'    => 'publish',
						'tax_query'      => array(
							array(
								'taxonomy' => 'actors',
								'field'    => 'slug',
								'terms'    => $term->slug,
																							),
						),
					);
					$video_from_actor = new WP_Query( $args );
					if ( $video_from_actor->have_posts() ) {
						$video_from_actor->the_post();
Modifié en dernier par Ryle le 30 juin 2021, 16:19, modifié 1 fois.
Raison : Mise en forme du code

Eléphant du PHP | 385 Messages

30 juin 2021, 15:48

Pourquoi ne pas utiliser un order by sql ? https://sql.sh/cours/order-by

Petit nouveau ! | 3 Messages

30 juin 2021, 17:13

Salut Kevin, merci pour ta réponse. Le cas ici c'est du PHP pour Wordpress, je suis sur la modification d'une page. J'ai tenté de mettre un order et orderby, mais sans succès. Après plusieurs autres tentatives de modif je n'y arrive pas malheureusement.

$term_args = array(
'number' => $per_page,
'offset' => $offset,
// sort test
'order' => 'ASC',
'orderby' => 'title',

Petit nouveau ! | 3 Messages

01 juil. 2021, 08:37

Alors j'ai trouvé.

Le cas est lié à une query PHP depuis Wordpress.

Effectivement toutes les tentatives de tri avec des commandes sort, order et orderby n'étaient pas efficaces.
J'ai également tenté de supprimer tous les filtres en commande mais pas d'efficacité non-plus.

La raison: un plugin posait problème. Le simple fait de le désactivé a rendu mes modifications efficaces.

Je sais que le forum n'est pas dédié wordpress, mais je trouve intéressant comme cas d'école en démontrant l'effet de bord d'un plugin sur un script. Pour information le plugin n'était pas sensé affecter cette class.

En espérant que cela puisse guider quelqu'un un jour.

Merci !!