reza_yki 103 ارسال شده در دی 97 گزارش بازنشر ارسال شده در دی 97 (ویرایش شده) سلام دوستان من می خوام مطالبم رو که کاربر قبلا انتخاب کرده که یکی از گذینه هاش اینه که آخرین مطالب باشه یا آخرین دسته خاص اون هم به صورت ای جکسی لود بشه (نکته: المنت برای ویژال کمپوزر نوشتم) اما من مشکلی که دارم اینه در صفحه A یک query نوشتم به شکل زیر : <?php $atts = vc_map_get_attributes('pl_block_3', $atts); extract($atts); global $ppp,$args,$atts_send; $atts_send = $atts; $posts_per_page = get_option('posts_per_page'); $args = array( 'post_type'=>'post', 'post_status' => 'publish', 'ignore_sticky_posts' => 1 ); if ($atts['offset']) { $args = wp_parse_args( array( 'offset' => $atts['offset'], ) , $args ); } if ($atts['orderby'] == 'most-recent') { $paged = is_front_page() ? get_query_var( 'page', 1 ) : get_query_var( 'paged', 1 ); $args = wp_parse_args( array( 'posts_per_page' => $posts_per_page, 'paged' => $paged ) , $args ); } else if ($atts['orderby'] == 'by-category') { if (!empty($atts['category_id'])) { $paged = is_front_page() ? get_query_var( 'page', 1 ) : get_query_var( 'paged', 1 ); $cats = explode(',',$atts['category_id']); $args = wp_parse_args( array( 'posts_per_page' => $posts_per_page, 'category__in' => $cats, 'paged' => $paged ) , $args ); } } else if ($atts['orderby'] == 'by-author') { $paged = is_front_page() ? get_query_var( 'page', 1 ) : get_query_var( 'paged', 1 ); $post_author_array = explode(',', $atts['author_id']); $args = wp_parse_args( array( 'posts_per_page' => $posts_per_page, 'author__in' => $post_author_array, 'paged' => $paged ) , $args ); } $posts = query_posts( $args ); ob_start(); get_template_part('framework/vc_templates/content/loop/main'); $out = ob_get_contents(); if (ob_get_contents()) ob_end_clean(); wp_reset_query(); wp_reset_postdata(); return $out; و در صفحه main کار رو به این شکل ادامه دادم: <?php global $ppp,$args,$atts_send; $atts = $atts_send; $posts_per_page = get_option('posts_per_page'); $page = intval($_POST['page']); $data_style = intval($_POST['data_style']); $data_order = ($_POST['data_order']); if ($ppp == 0) $ppp = $data_style; if ($page == 0) $page = 1; $offset = ($page - 1) * $posts_per_page; $ajax_args = array( 'posts_per_page' => $posts_per_page, 'offset' => $offset ); $args = wp_parse_args( $args, $ajax_args ); $posts = query_posts( $args ); print_r($args) ; get_template_part('framework/vc_templates/content/loop/homepage-content-' . $ppp); وقتی صفحه برای اولین بار لود میشه print_r که برای $args گرفتم خروجی زیر رو تولید میکنه:(تا اینجا مشکلی نیست و همچی درست کار میکنه) <?php Array ( [posts_per_page] => 2 [offset] => 0 [post_type] => post [post_status] => publish [ignore_sticky_posts] => 1 [paged] => 1 ) ?> ولی وقتی دکمه بیشتر رو برای لود مطالب بیشتر می زنم این خروجی چاپ میشه: <?php Array ( [posts_per_page] => 2 [offset] => 2 ) ?> در صفحه ایجکس هم کاری زیادی نکردم فقط صفحه main رو فراخوانی کردم: <?php add_action('wp_ajax_recent_posts', 'recent_posts'); add_action('wp_ajax_nopriv_recent_posts', 'recent_posts'); function recent_posts() { get_template_part('framework/vc_templates/content/loop/main'); die(); } ?> حالا سوال اینجاست من چطوری می تونم اطلاعات صفحه A رو به صفحه main بفرستم در هنگام لود ایجکسی؟ ویرایش شده دی 97 توسط reza_yki نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .