reza_yki

دسترسی یا ارسال یک Query Args خاص به صفجه دیگر

1 پست در این موضوع قرار دارد

ارسال شده در (ویرایش شده)

سلام دوستان من می خوام مطالبم رو که کاربر قبلا انتخاب کرده که یکی از گذینه هاش اینه که آخرین مطالب باشه یا آخرین دسته خاص اون هم به صورت ای جکسی لود بشه (نکته: المنت برای ویژال کمپوزر نوشتم)

اما من مشکلی که دارم اینه در صفحه 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 بفرستم در هنگام لود ایجکسی؟

ویرایش شده در توسط reza_yki
0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری