izrada sajtova
class CWPAI_LoadMorePosts {
private $initial_posts_count = 2;
private $load_more_posts_count = 2;
public function __construct() {
add_shortcode('cwpai_load_more_posts', array($this, 'shortcode_render'));
add_action('wp_ajax_cwpai_load_more', array($this, 'ajax_load_more'));
add_action('wp_ajax_nopriv_cwpai_load_more', array($this, 'ajax_load_more'));
add_action('wp_head', array($this, 'add_inline_css'));
add_action('wp_footer', array($this, 'add_inline_js'));
}
public function shortcode_render($atts) {
$atts = shortcode_atts(array(
'initial_posts' => $this->initial_posts_count,
'load_more_posts' => $this->load_more_posts_count
), $atts);
$initial_posts = $this->get_posts($atts['initial_posts']);
$output = '
';
foreach ($initial_posts as $post) {
$output .= $this->post_card($post);
}
$output .= '
';
return $output;
}
private function get_posts($count, $offset = 0) {
$args = array(
'posts_per_page' => $count,
'offset' => $offset,
);
return get_posts($args);
}
private function post_card($post) {
return '';
}
public function ajax_load_more() {
$offset = isset($_POST['offset']) ? intval($_POST['offset']) : 0;
$load_more_posts = isset($_POST['load_more_posts']) ? intval($_POST['load_more_posts']) : $this->load_more_posts_count;
$posts = $this->get_posts($load_more_posts, $offset);
foreach ($posts as $post) {
echo $this->post_card($post);
}
wp_die();
}
public function add_inline_css() {
echo '';
}
public function add_inline_js() {
echo "";
}
}
new CWPAI_LoadMorePosts();
Скорашњи коментари