sajjad_fx

یافتن دسته ی پستهای یافته شده از یک کوئری

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

سلام و خسته نباشید.

دوستان سوالی داشتم از حضورتون. با سرچ تو نت، یک کوئری پیدا کردم که یک سری پست هایی که مد نظر من هست رو میاد و پیدا میکنه و میزاره تو یک متغیر، حالا میخواستم مثلا پستی که با این مشخصات پیدا میشه، دسته ی مربوط به اون پست رو پیدا کنم:


$query_args = array(
'post_type' => 'post',
'orderby' => 'date',
'order' => 'DESC',
'posts_per_page' => 1,
'post_status' => 'publish',
'ignore_sticky_posts' => true
);
// the query
$the_query = new WP_Query($query_args);
$result = generate_result($the_query);
$response = json_encode($result);
function generate_result($the_query) {
$result = array();
$post_id = $the_query->posts[0]->ID;
$post_date = $the_query->posts[0]->post_date;
$last_published_post = get_post((int) $_POST['lastPublishedPostID']);
$last_published_post_date = $last_published_post->post_date;
if ($post_date === $last_published_post_date) {
$result['refresh_widget'] = false;
} else if ($post_date > $last_published_post_date) {
$post_title = $the_query->posts[0]->post_title;
$post_guid = $the_query->posts[0]->guid;
$post_date_array = date_parse($the_query->posts[0]->post_date);
$post_date = date("F", mktime(0, 0, 0, $post_date_array['month'], 10)) . ' ' . $post_date_array['day'] . ', ' . $post_date_array['year'];
$result = array(
'refresh_widget' => true,
'post_action' => 'add',
'post_data' => array(
'id' => $post_id,
'title' => $post_title,
'guid' => $post_guid,
'date' => $post_date,

)
);
} else if ($post_date < $last_published_post_date) {
$result = array(
'refresh_widget' => true,
'post_action' => 'remove',
'post_data' => array(
'id' => $post_id,
)
);
}
return $result;
}

من از این کد استفاده کردم، ولی نتیجه نداد:


[left]$post_category = get_the_category( $post_id );

[/left]

سپاس

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

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


لینک به پست

خروجی تابع آرایه هست

http://codex.wordpress.org/Function_Reference/get_the_category

با حلقه میتوانید مشخصات دسته‌ها را بدست بیارید

1

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


لینک به پست

خروجی تابع آرایه هست

http://codex.wordpre...et_the_category

با حلقه میتوانید مشخصات دسته‌ها را بدست بیارید

سلام مرسی پارسا جان، صفحه ی معرفی شده رو مطالعه کردم

ولی متاسفانه هنوز متوجه نشدم که چطور باید این کار رو انجام بدم، من میخوام با مشخصاتی که تو متغیر $query_args هست، یک سری پست پیدا کنم و بزارم تو متغیر $the_query که تا اینجا درست و انجام میشه.

حالا با دستوراتی که بالا ذکر کردم میام آی دی پست مورد نظر رو پیدا میکنم و میزارم تو متغیر $post_id همینطور تاریخ، عنوان و آدرس رو پیدا میکنم و میزارم تو متغیر های

$post_date

$post_title

$post_guid

حالا نمیدونم چطور باید دسته ی مربوط به اون پست رو پیدا کنم، از این دستور استفاده کردم:


<?php get_the_category( $post_id ); ?>

که خوب این دستور فقط میاد و دسته مربوط به پست با آی دی مشخص رو پیدا میکنه، ولی من نیاز دارم که نتیجه این دستور تو یک متغیر قرار بگیره،

برای همین از این دستور استفاده میکنم:


'post_data' => array(
'id' => $post_id,
'title' => $post_title,
'guid' => $post_guid,
'date' => $post_date,
'category' => $post_category,

$post_category = get_the_category( $post_id );

که وقتی توی کد جاوا اسکریپت ازش استفاده میکنم خطا میده:


html = '<li id="' + response.post_data.id + '" class="new-news">';
html += '<a href="' + response.post_data.guid + '">' + response.post_data.title + '</a>';
html += response.post_data.category ;

در حقیقت با دو خط اول آی دی پست، و لینک و عنوان پست به خوبی نمایش داده میشن، ولی خروجی دسته رو به این صورت نشون میده:

[object Object]

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

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


لینک به پست

سلام

جناب پارسا، و آقای فخار واقعا بنده رو شرمنده میکنید اگر در خصوص مشکل بالا بنده رو راهنمایی کنید که چطور میتونم دسته ی مربوط به پست رو پیدا کنم و تو متغیر بزارم و توسط کد جاوا اسکریپت لینک اون دسته رو نشون بدم؟

بسیار سپاس گذارم

0

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


لینک به پست

سلام مجدد

با سرچی که انجام دادم متوجه شدم دلیل اینکه دسته ی پست رو در خروجی جاوا بصورت [object Object] نشون میده اینه که اون ورودی که بهش معرفی شده بصورت آبجکت هست، ممنون میشم راهنمایی بفرمایید که اولا چطور دسته ی پست رو تشخیص بدم و داخل یک متغیر قرار بدم، و ثانیا با چه دستوری در جاوا اسکریپت میتونم نام دسته رو که به صفحه ی دسته لینک شده رو نشون بدم، مثل حالت معمولی که از کد زیر تو وردپرس استفاده میکنیم و دسته رو بصورت لینک دار نشون میده...

<?php get_the_category( $post_id ); ?>

سپاسگذارم که باعث حل مشکل خلق الله میشید.

یا علی

0

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


لینک به پست


$category = get_the_category();

اولین دسته


$category[0];

دومین دسته


$category[1];

الی آخر

2

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


لینک به پست

سلام استاد فخار

مرسی از پاسختون

استاد من با این دستور دسته رو پیدا میکنم و میزارم تو یه آرایه:


while ($the_query->have_posts()) : $the_query->the_post();
$cate = get_the_category();
$post_category = $cate[0];
endwhile;
$result = array(
'post_data' => array(
'id' => $post_id,
'title' => $post_title,
'guid' => $post_guid,
'date' => $post_date,
'category' => $post_category,
)

ولی وقتی که توی جاوا اسکریپت از کد زیر استفاده میکنم :


html += response.post_data.category ;

چیزی که بعنوان خروجی نشون میده این هست:


[object Object]

در حالیکه برای نمایش آی دی، عنوان و لینک از کدهای زیر که استفاده میکنم بدرستی اونا نشون میده...


html = response.post_data.id ;
html += '<a href="' + response.post_data.guid + '">' + response.post_data.title + '</a></div>';

بنظرتون مشکل از کجاست؟

0

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


لینک به پست

مشکلی نیست فقط خود category هم یک آرایه است باید مشخص کنید چه چیزیش رو می خواهید

ID

name

slug

...

1

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


لینک به پست

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

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

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

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


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

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

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


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