Minha página inicial personalizada é definida para classificar minhas postagens personalizadas por meio do campo de data personalizado com este código (atualizado para ser personalizado) em functions.php:
// sort order for home page
add_action('wp', 'wwgo_check_page');
function wwgo_check_page () {
if (is_page()) {
add_filter('get_previous_post_sort', 'sort_it');
add_filter('get_next_post_sort', 'sort_it');
add_filter('posts_orderby', 'sort_it' );
add_filter('posts_join', 'join_it' );
add_filter('posts_where', 'where_it' );
function sort_it () {
global $wpdb;
return " $wpdb->postmeta.meta_value ASC ";
}
function join_it( $join ) {
global $wpdb;
$join .= " LEFT JOIN $wpdb->postmeta ON($wpdb->posts.ID = $wpdb->postmeta.post_id) ";
return $join;
}
function where_it( $where ) {
global $wpdb;
$where .= "AND $wpdb->postmeta.meta_key = 'deadline' ";
return $where;
}
}
}
O que é elegante e simples. Agora. Quero que isso funcione em todo o site. Quero que as postagens em páginas de arquivo, categorias etc. sejam classificadas primeiro pelo campo de data personalizado.
Alguma ideia?
Eu tentei mudar o ' if
' para is_archive()
mas isso não teve efeito. Eu <! is_single()>
também tentei .
Tenho certeza que deve ser algo simples. Mas eu sou novo em php e, portanto, sem noção.
Aqui está o site , onde você pode ver a página inicial bem ordenada, mas se você clicar em 'poesia' (a única com algumas postagens), a classificação não funcionará.
Todas as sugestões serão recebidas com muita alegria.
Obrigado por favor.
josh_
para evitar nomear colisões.