Skocz do zawartości

Zdjęcie
- - - - -

Sortowanie postów po dacie bez względu na kategorię


Najlepsza odpowiedź unbreak, 11 czerwca 2015 - 08:10

W loopie dajesz:

<?php $categories = get_the_category(); ?>
<div class="item<?php if($categories) foreach($categories as $category) echo " thumb-".$category->slug; ?>" data-title="<?php the_title(); ?>" data-date="<?php the_time(); ?>">
	<?php the_content(); ?>
	<div class="description visible-touch">
		<div class="title">
			<?php the_title(); ?>
		</div>
	</div>
</div>

Przejdź do postu


4 odpowiedzi w tym temacie
  • Zaloguj się, aby dodać odpowiedź
przemoo83

    Stary wyjadacz

  • PipPipPip
  • 316 postów
    • Czas spędzony online: 24d 21h 32m 26s
46
Bardzo dobra

Napisano 10 czerwca 2015 - 15:26

#1

Mam pewien problem z sortowaniem postów po dacie. Posty umieszczam w różnym kodzie HTML w zależności od kategorii. Kategorie mam na chwilę obecną tylko 2 (small i big) ale bedzie więcej wytycznych więc na zaś umieszczam je w tabelach. Kod wygląda tak:

<?php 
//arrays for thumbs
$small = array(
	'category_name' => 'small'
);
$big = array (
	'category_name' => 'big'
);

?>
<?php   //start small thumbs loop
	$s_posts = new WP_Query($small);
	while($s_posts->have_posts()) : $s_posts->the_post();
?>
	<div class="item thumb-small" data-title="<?php the_title(); ?>" data-date="<?php the_time(); ?>">
	<?php
	the_content();
	?>
		<div class="description visible-touch">
			<div class="title">
			<?php
			the_title();
			?>
			</div>
		</div>
	</div>
<?php
//end small thumbs loop
endwhile;
?>
<?php
	//start big thumbs loop
	$b_posts = new WP_Query($big);
	while($b_posts->have_posts()) : $b_posts->the_post();
?>
<div class="item thumb-big" data-title="<?php the_title(); ?>" data-date="<?php the_time(); ?>">
	<?php
	the_content();
	?>
		<div class="description visible-touch">
			<div class="title">
			<?php
			the_title();
			?>
			</div>
		</div>
	</div>
<?php
//end big thumbs loop
endwhile;
?>

Wszystko jest ok ale posty sortują się po dacie tylko wewnątrz własnej kategorii. Czyli efekt końcowy na stronie jest taki:

1. small

2. small

3. small

4. big -> mimo, że jest najnowszy z wszystkich to wskoczył do góry tylko w obrębie swojej kategorii

5. big

Jak zrobić żeby bez względu na kategorie sortowały mi sie po dacie od góry do dołu?


Użytkownik przemoo83 edytował ten post 10 czerwca 2015 - 15:27

  • 0

unbreak

    WT Elite

  • 1 937 postów
    • Czas spędzony online: 27d 8h 43m 36s
506
Znakomita!
  • Location/home/unbreak

Napisano 11 czerwca 2015 - 07:14

#2
$s_posts = new WP_Query( 'category_name=small,big' );

I jedziesz jedynie jedną pętlę.


  • 0

webDeveloper


przemoo83

    Stary wyjadacz

  • PipPipPip
  • 316 postów
    • Czas spędzony online: 24d 21h 32m 26s
46
Bardzo dobra

Napisano 11 czerwca 2015 - 07:41

#3
$s_posts = new WP_Query( 'category_name=small,big' );

I jedziesz jedynie jedną pętlę.

 

No ale wtedy wrzucam wszystko w taki sam kontener. Post z kategorią "small" musi być w <div class="item thumb-small"></div> a "big" w <div class="item thumb-big"></div>. One są ostylowane odpowiednio pod RWD. No chyba, że jest jakaś lepsza opcja niż ta co ja użyłem żeby w zależności od kategorii nadać odpowiednią klasę?


Użytkownik przemoo83 edytował ten post 11 czerwca 2015 - 07:41

  • 0

unbreak

    WT Elite

  • 1 937 postów
    • Czas spędzony online: 27d 8h 43m 36s
506
Znakomita!
  • Location/home/unbreak

Napisano 11 czerwca 2015 - 08:10   Najlepsza odpowiedź

#4
W loopie dajesz:
<?php $categories = get_the_category(); ?>
<div class="item<?php if($categories) foreach($categories as $category) echo " thumb-".$category->slug; ?>" data-title="<?php the_title(); ?>" data-date="<?php the_time(); ?>">
	<?php the_content(); ?>
	<div class="description visible-touch">
		<div class="title">
			<?php the_title(); ?>
		</div>
	</div>
</div>


  • 2

webDeveloper


przemoo83

    Stary wyjadacz

  • PipPipPip
  • 316 postów
    • Czas spędzony online: 24d 21h 32m 26s
46
Bardzo dobra

Napisano 11 czerwca 2015 - 08:27

#5

Jak to dobrze jednak spytać mądrzejszego :) w tych 2 linijkach PHP zrobiłeś to co ja kombinowałem w kilkudziesięciu :P . Dzięki!


  • 0





Podone tematy Collapse

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych