Mi página personalizada 'Inicio' está configurada para ordenar mis publicaciones personalizadas a través del campo de fecha personalizada con este código (actualizado para que tenga un nombre personalizado) en 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;
}
}
}
Lo cual es elegante y simple. Ahora. Quiero que esto funcione en todo el sitio. Quiero que las publicaciones en páginas de archivo, categorías, etc. se ordenen primero por el campo de fecha personalizado.
¿Algunas ideas?
He intentado cambiar el ' if
' is_archive()
pero eso no tuvo ningún efecto. Yo <! is_single()>
también lo intenté .
Estoy seguro de que debería ser algo simple. Pero soy nuevo en PHP y, por lo tanto, no tengo idea.
Aquí está el sitio , donde puede ver que la página de inicio está bien ordenada, pero si hace clic en 'poesía' (la única con algunas publicaciones), la ordenación no funciona.
Cualquier sugerencia será recibida con mucha alegría.
Gracias por su amabilidad.
josh_
para evitar nombrar colisiones.