• Can anyone help me with showing all post in category show order by title

    My code in gategort here

    <?php get_header(); ?>

    <?php // Get Theme Options from Database
    $theme_options = leeway_theme_options();
    ?>

    <div id=”wrap” class=”clearfix”>

    <section id=”content” class=”primary” role=”main”>

    <h2 id=”category-title” class=”archive-title”>
    <?php printf(__(‘Category Archives: %s’, ‘leeway’), ‘<span>’ . single_cat_title( ”, false ) . ‘</span>’); ?>
    </h2>

    <?php if (isset($theme_album)) : $theme_album->ta_albumFormat(); else : ?>
    <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

    get_template_part( ‘content’, $theme_options[‘posts_length’] );

    <?php endwhile; else : ?>
    <p><?php _e( ‘Sorry, no posts matched your criteria.’ ); ?></p>
    <?php endif; ?>
    <?php endif; ?>

    leeway_display_pagination();

    endif; ?>

    </section>

    <?php get_sidebar(); ?>
    </div>

    <?php get_footer(); ?>

    http://djsomali.com/new/

Viewing 7 replies - 1 through 7 (of 7 total)
  • https://codex.wordpress.org/Class_Reference/WP_Query should get you started.

    $args = array('orderby' => 'title', 'cat' => <category id>);
    $query = new WP_Query($args);

    Thread Starter isteelione

    (@isteelione)

    Hi
    I try to use that code in category.php
    is not working

    <?php get_header(); ?>

    <?php // Get Theme Options from Database
    $theme_options = leeway_theme_options();
    ?>

    <div id=”wrap” class=”clearfix”>

    <section id=”content” class=”primary” role=”main”>

    $args = array(‘orderby’ => ‘title’, ‘cat’ => <category id>);
    $query = new WP_Query($args);

    <h2 id=”category-title” class=”archive-title”>
    <?php printf(__(‘Category Archives: %s’, ‘leeway’), ‘<span>’ . single_cat_title( ”, false ) . ‘</span>’); ?>
    </h2>

    <?php if (isset($theme_album)) : $theme_album->ta_albumFormat(); else : ?>
    <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

    get_template_part( ‘content’, $theme_options[‘posts_length’] );

    <?php endwhile; else : ?>
    <p><?php _e( ‘Sorry, no posts matched your criteria.’ ); ?></p>
    <?php endif; ?>
    <?php endif; ?>

    You just copied my example and nothing else. It wasnt meant as a complete piece of code. For example if (have_posts()) need to be if ($query->have_posts()).

    Thread Starter isteelione

    (@isteelione)

    Okej
    Im new in wordpress i dont know even hur to use the code you send me that why i just but the code that why.

    As @rollingwolf said you need to add “$query->” to “have_posts()”and “the_post()” in order to work right

    Also you will need to add this parameter to the query
    ‘orderby’ => ‘title’, ‘order’ => ‘DESC’
    as i already inserted in your code. Also if you what to specify the category you can also add
    ‘cat’ => ’10’ [and change the 10 for the number id of the category]
    OR
    ‘category_name’ => ‘test’ [and change the test for the name category]

    For more filter to the query you can find in https://codex.wordpress.org/Class_Reference/WP_Query

    [FULL CODE BELLOW]

    <?php get_header(); ?>

    <?php // Get Theme Options from Database
    $theme_options = leeway_theme_options();
    ?>

    <div id=”wrap” class=”clearfix”>

    <section id=”content” class=”primary” role=”main”>

    $args = array(‘orderby’ => ‘title’, ‘order’ => ‘DESC’);
    $query = new WP_Query($args);

    <h2 id=”category-title” class=”archive-title”>
    <?php printf(__(‘Category Archives: %s’, ‘leeway’), ‘<span>’ . single_cat_title( ”, false ) . ‘</span>’); ?>
    </h2>

    <?php if (isset($theme_album)) : $theme_album->ta_albumFormat(); else : ?>
    <?php if ( $query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post(); ?>

    get_template_part( ‘content’, $theme_options[‘posts_length’] );

    <?php endwhile; else : ?>
    <p><?php _e( ‘Sorry, no posts matched your criteria.’ ); ?></p>
    <?php endif; ?>
    <?php endif; ?>

    instead of editing the template with a custom query, try working with a 'pre_get_posts' http://codex.wordpress.org/Plugin_API/Action_Reference/pre_get_posts action in functions.php of your theme;

    example code:

    function category_archive_sort_posts($query) {
      if ( !is_admin() && $query->is_main_query() ) {
        if ( $query->is_category ) {
          $query->set( 'orderby', 'title' );
          $query->set( 'order', 'ASC' );
        }
      }
    }
    
    add_action('pre_get_posts','category_archive_sort_posts');
    Thread Starter isteelione

    (@isteelione)

    alchymyth

    Now is working last code.

    alchymyth
    Thank you very match

Viewing 7 replies - 1 through 7 (of 7 total)
  • The topic ‘Order by title all post in category’ is closed to new replies.