// download archive callback
add_action('wp_ajax_download', 'download_callback');
add_action('wp_ajax_nopriv_download', 'download_callback');
function download_callback() {
global $wpdb;
$data = $_POST;
// здесь какие-то телодвижения
print json_encode(array('key' => 'value'));
exit;
}
$.post('/wp-admin/admin-ajax.php', data, function(response) {
//что-то делаем
}, "json");
WP_Query
не надоget_posts
, foreach
etc, просто WP_Query
типа:<?php
// The Query
$the_query = new WP_Query( $args );
// The Loop
if ( $the_query->have_posts() ) {
echo '<ul>';
while ( $the_query->have_posts() ) {
$the_query->the_post();
echo '<li>' . get_the_title() . '</li>';
}
echo '</ul>';
/* Restore original Post Data */
wp_reset_postdata();
} else {
// no posts found
}
numberposts
может быть -1
и тогда он будет выводить все посты сколько есть, но опять же лучше юзать WP_Query
http://site.com?p=id
? Через add_rewrite_rule
можно сделать ссылки, но если вы хотите оставить текущую структуру ссылок, то в любом случае вам нужно чтобы в ссылке присутствовал id
записи, так что максимум чего вы добьетесь это ссылки вида http://site.com/p123/
, где p
- это любой символ или слово и 123
это id
записи. get_category()
Retrieves category data given a category ID or category object - Возвращает данные категории по заданному ID или объекту: $cat = get_category(get_query_var('cat'),false);
echo $cat->name;