https://codex.wordpress.org/Class_Reference/WP_Query should get you started.
$args = array('orderby' => 'title', 'cat' => <category id>);
$query = new WP_Query($args);
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()).
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');
alchymyth
Now is working last code.
alchymyth
Thank you very match