• 24-09-2022, 20:43:39
    #1
    Merhaba,

    Kategori sayfasında bir URL'ye göre farklı sonuçlar göstermek istiyorum.

    URL'de "?sortby=asc" veya "?sortby=desc" querysi olduğunda if-else yapmak istiyorum ve ona göre postları çektireceğim.

    Denediklerim:

    if (is_page('echo esc_url( wp_get_current_url()/?sortby=asc'))
    <?php if (is_page(array('/?sortby=asc', '/?sortby=desc'))) { ?>
    <?php> $category_link = get_category_link( $category_id ); ?>
    <?php if (is_page(array('$category_link/?sortby=asc', '$category_link/?sortby=desc')))
    <?php
    global $wp;
    $current_slug = $wp->request;
    if ($current_slug == '?sortby=desc') {
    Tam olarak yapmak istediğim şu > [SİTE URL]+[KATEGORI URL]/?sortby=asc

    Yani if x.com/haberler/?sortby=asc ise Y yap gibi bir mantık.

    Bunu nasıl yapabilirim?
  • 24-09-2022, 20:58:46
    #3
    $sort = $_GET['sortby'] // URL'deki parametreyi almanızı sağlar.
    
    $args = array(
        'order': $sortby, // Parametrenin değerini query'ye eklersiniz. ($sortby, ASC veya DESC dönmelidir.)
    )
    
    $query = new WP_Query($args);
  • 24-09-2022, 21:15:48
    #4
    Cevabınız için teşekkürler, tam aradığım çözüm orada olmasa da beni fikir sahibi yaptı. Bakalım deneyeceğim.

    Rawt adlı üyeden alıntı: mesajı görüntüle
    $sort = $_GET['sortby'] // URL'deki parametreyi almanızı sağlar.
    
    $args = array(
        'order': $sortby, // Parametrenin değerini query'ye eklersiniz. ($sortby, ASC veya DESC dönmelidir.)
    )
    
    $query = new WP_Query($args);
    category.php dosyamın tepesinde zaten

    <?php
    if (array_key_exists("sortby", $_GET) === true)
    {
        $newQuery = sortIt($_GET['sortby']);
    }
    ?>
    Şu kısım var, tam olarak aradığım bu değil ama teşekkür ederim.
  • 24-09-2022, 21:18:42
    #5
    Yapmak istediğim şu;

    Eğer URL'de '?sortby=desc' veya '?sortby=asc'

    <?php if ( $newQuery->have_posts() ) : while ( $newQuery->have_posts() ) : $newQuery->the_post(); ?>
    Eğer URL'de yoksa

    <?php endwhile; endif; } else if (have_posts()) : while (have_posts()) : the_post(); ?>
    ### Edit:

    Sorun çözüldü.

    <?php
                                    $url = $_SERVER["REQUEST_URI"];
                                    $isitorder = strpos($url, 'sortby');
                                    if ($isitorder!==false) {
                                    ?>
    Bu kod kullanılmıştır. URL'de sortby yazıyor mu diye kontrol ediyor.