wordpres

فیلتر کردن پست ها

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

سلام

خسته نباشید

من توی صفحه پست هام یه قسمت قرار دادم برای فیلتر کردن پست ها

یعنی radio botton گذاشتم بعد میخوام مثلا روی radio تفریحی کلیک کرد پست های تفریحی رو نشون بده و وقتی روی radio اخبار کلیک کرد پست های اخبار رو نشون بده

لطفا راهنمایی کنید

0

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


لینک به پست

الان توی نت سرچ کردم سایت زیر رو پیدا کردم :

http://itrahyaft.ir/%D9%81%DB%8C%D9%84%D8%AA%D8%B1-%D9%BE%D8%B3%D8%AA-%D9%88%D8%B1%D8%AF%D9%BE%D8%B1%D8%B3-%D8%A8%D8%B3%DB%8C%D8%A7%D8%B1-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF%DB%8C/

بعد حالا الان مشکلی که دارم اینه که من میخوام وقتی روی radio کلیک شد صفحه رفرش بشه و اون فیلتری که میخوام اعمال بشه!!!

یعنی در واقع فکر میکنم باید یه request بفرستم بعد وقتی روی radio کلیک شد url رو بررسی کنم که اون request رو داره یا نه اگه داشت اون فیلتر اعمال بشه

لطفا کمک کنید

0

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


لینک به پست

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

درمورد ای جکس تحقیق کنید

ajax

این روش جالبی نیست !

ویرایش شده در توسط دانیال
1

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


لینک به پست

درمورد ای جکس تحقیق کنید

ajax

این روش جالبی نیست !

ajax کار کردم اما نه توی وردپرس

لطفا یه کم راهنمایی کنید

0

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


لینک به پست

الان توی نت سرچ کردم سایت زیر رو پیدا کردم :

http://itrahyaft.ir/...-بسیار-کاربردی/

بعد حالا الان مشکلی که دارم اینه که من میخوام وقتی روی radio کلیک شد صفحه رفرش بشه و اون فیلتری که میخوام اعمال بشه!!!

یعنی در واقع فکر میکنم باید یه request بفرستم بعد وقتی روی radio کلیک شد url رو بررسی کنم که اون request رو داره یا نه اگه داشت اون فیلتر اعمال بشه

لطفا کمک کنید

اگر می خواهید از انجین خود وردپرس استفاده کنید رادیو باتون ها رو در یک فرم قرار بدید نامشون رو بگذارید cat و value هر کدام آی دی دسته بندی مورد نظرتون و یک فیلد هم با نام s کنارشون بگذارید و با متد get ارسال کنید به صفحه جاری

2

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


لینک به پست

اگر می خواهید از انجین خود وردپرس استفاده کنید رادیو باتون ها رو در یک فرم قرار بدید نامشون رو بگذارید cat و value هر کدام آی دی دسته بندی مورد نظرتون و یک فیلد هم با نام s کنارشون بگذارید و با متد get ارسال کنید به صفحه جاری

ممنون میشه یه نمونه ای چیزی بدین!!

0

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


لینک به پست

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

اگر می خواهید از انجین خود وردپرس استفاده کنید رادیو باتون ها رو در یک فرم قرار بدید نامشون رو بگذارید cat و value هر کدام آی دی دسته بندی مورد نظرتون و یک فیلد هم با نام s کنارشون بگذارید و با متد get ارسال کنید به صفحه جاری

الان اونچیزی که گفتین رو درست کردم و وقتی رو دکمه میزنم url به صورت زیر میشه :


localhost:81/wp/?cat=تفریحی&s=

بعد توی صفحه ی search.php نتایج رو نشون میده که من میخوام توی همون صفحه که بود نشون بده نتایج رو

و اینکه پست های اون دسته رو نشون نمیده و همه رو نشون میده

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

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


لینک به پست

پس باید براش کوئری بنویسید پارامتر cat توی وردپرس تعریف شده است تغییرش بدید به مثلا catid و کوئری ای شبیه به این بنویسید

(فیلد s را هم حذف کنید )


<?php
if(isset($_GET['catid'])) {
$catid = $_GET['catid'];
$my_query(array(
'post_type' => 'post',
'cat'=> $catid,
//.....
));
//...
}

1

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


لینک به پست

پس باید براش کوئری بنویسید پارامتر cat توی وردپرس تعریف شده است تغییرش بدید به مثلا catid و کوئری ای شبیه به این بنویسید

(فیلد s را هم حذف کنید )


<?php
if(isset($_GET['catid'])) {
$catid = $_GET['catid'];
$my_query(array(
'post_type' => 'post',
'cat'=> $catid,
//.....
));
//...
}

الان کد رو اینجوری کردم اما باز هم نشد :


<?php
if(isset($_GET['catid'])) {
$catid = $_GET['catid'];
$my_query = new WP_Query( array(
'post_type' => 'post' ,
'cat' => $catid,
));
while( $my_query->have_posts() ) : $my_query->the_post();
?>

0

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


لینک به پست

الان که کوئریتون ناقصه با ژنراتور کوئری درست بسازید و قرار بدید

1

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


لینک به پست

الان که کوئریتون ناقصه با ژنراتور کوئری درست بسازید و قرار بدید

الان کوئری رو اینطوری کردم :


if(isset($_GET['catid'])){
$catid = $_GET['catid'];
$my_custom_query= new WP_Query(array(
'post_type' => 'custom',
'post_status' => 'publish',
'cat' => $catid,
'order' => 'DESC',
'orderby' => 'modified',
'posts_per_page' =>'4',
'paged' => (get_query_var('paged')) ? get_query_var('paged') : 1
));
if($my_custom_query->have_posts()):
while($my_custom_query->have_posts()) : $my_custom_query->the_post();?>

بعد کدی هم که برای radio ها نوشتم اینه :


<form action="" method="get">
<div class="radio_b">
<input type="radio" value="14" name="catid" id="news" />
<label for="news">اخبار</label>
</div>
<div class="radio_b">
<input type="radio" value="10" name="catid" id="fun" />
<label for="fun">تفریحی</label>
</div>
<input type="submit" value="جـستـجو" />
</form>

0

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


لینک به پست

با تشکر از استاد بابت پاسخ دادن.

من یک راه دیگه و ساده تر به ذهنم میرسه که میتونید امتحان کنید:

با template page یک فایل php ساده حاوی کد کوئری توی پوشه قالبتون ایجاد کنید.

یک برگه با این فایل معرفی کنید تا url ش رو به دست بیارید.

حالا با قابلیت .load جی کوئری برای اون رادیو باتن ها دستوری بنویسید یا دکمه بزارید تا روی هر کدومشون کلیک شد بره و url اون برگه رو براتون نمایش بده (بدون رفرش شدن صفحه).

موفق باشید.

1

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


لینک به پست

با تشکر از استاد بابت پاسخ دادن.

من یک راه دیگه و ساده تر به ذهنم میرسه که میتونید امتحان کنید:

با template page یک فایل php ساده حاوی کد کوئری توی پوشه قالبتون ایجاد کنید.

یک برگه با این فایل معرفی کنید تا url ش رو به دست بیارید.

حالا با قابلیت .load جی کوئری برای اون رادیو باتن ها دستوری بنویسید یا دکمه بزارید تا روی هر کدومشون کلیک شد بره و url اون برگه رو براتون نمایش بده (بدون رفرش شدن صفحه).

موفق باشید.

سلام

میشه یه کم واضح تر بگین

در واقع قسمت جی کوئریش رو

ممنون

0

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


لینک به پست

نمونه ساده :

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$("#div1").load("url.......");
});
});
</script>
</head>
<body>

<div id="div1"><h2>Let jQuery AJAX Change This Text</h2></div>

<button>Get External Content</button>
</body>
</html>

اطلاعات بیشتر : 1 2

و html

موفق باشید.

2

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


لینک به پست
نمونه ساده :
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"> <script> $(document).ready(function(){ $("button").click(function(){ $("#div1").load("url......."); }); });

[b] Let jQuery AJAX Change This Text[/b]

Get External Content

اطلاعات بیشتر : 1 2 و html موفق باشید.

ممنون

الان تقریبا یه نتایجی گرفتم اما باز چندتا مشکل دارم:

1.نمیتونم تشخصی بدم که کاربر کدوم radio رو زده که بیام مطالب اون دسته رو نشون بدم

2.پست ها را 4تا 4تا نشون میده :| یعنی مثلا پست شماره یک رو 4بار تکرار میکنه ، پست شماره دو رو 4بار و ....

ممنون میشم جواب سئوالاتم رو بدین

0

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


لینک به پست

برای هر رادیو یک آیدی تعریف کنید و برای هرکدوم از آیدی ها یکبار کد بالا رو تکرار کنید (بخشی که مربوط به رویداد بود!)

کد نهایی که نوشتید رو بزارید.

0

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


لینک به پست

برای هر رادیو یک آیدی تعریف کنید و برای هرکدوم از آیدی ها یکبار کد بالا رو تکرار کنید (بخشی که مربوط به رویداد بود!)

کد نهایی که نوشتید رو بزارید.

همونکار رو کردم اما نمیشه!!

0

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


لینک به پست
کد نهایی که نوشتید رو بزارید.
0

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


لینک به پست

کد radio :


<form action="" method="get">
<div class="radio_b">
<input type="radio" value="14" name="catid" id="fun" />
<label for="fun">fun</label>
</div>
<div class="radio_b">
<input type="radio" value="13" name="catid" id="news" />
<label for="news">news</label>
</div>
</form>

کد جی کوئری :


<script type="text/javascript">
$(document).ready(function(){
$("#fun").click(function(){
$(".box_products").load('http://localhost:81/wp/?page_id=151');
});
});

</script>

کد کوئری :


<?php /* Template Name: کوئری */ ?>

<?php
if(isset($_GET['catid'])){
$catid = $_GET['catid'];
$my_custom_query= new WP_Query(array(
'post_type' => 'custom',
'post_status' => 'publish',
'cat' => $catid,
'order' => 'DESC',
'orderby' => 'modified',
'posts_per_page' =>'4',
'paged' => (get_query_var('paged')) ? get_query_var('paged') : 1
));
if($my_custom_query->have_posts()):
while($my_custom_query->have_posts()) : $my_custom_query->the_post();?>
<section class="col-md-3 float">
<div class="box_products">
<!--<div class="box_products_shadow"></div>-->
<div class="title_box_product">
<h2><?php the_title() ?></h2>
</div>
<div class="cat_box_product">
<span><?php $terms = get_the_terms($POST->ID,'product_category');
foreach ( $terms as $term ) {
echo $term->name.' « ';
} ?></span>
</div>
<div class="pic_box_product">
<?php if(has_post_thumbnail()){the_post_thumbnail("wp-thumb",array( 'class' => 'img-responsive'));} else { ?>
<img src="<?php bloginfo('template_url') ?>/img/pro.png" alt="" class="img-responsive" />
<?php } ?>
</div>
<div class="name_box_product">
<h2><?php echo $name; ?></h2>
</div>
</div>
</section>
<?php
endwhile;endif;}?>


0

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


لینک به پست

به این صورت با زدن هر رادیو آدرس مربوط بهش لود میشه :

<script type="text/javascript">
$(document).ready(function(){
$("#fun").click(function(){
$(".box_products").load('url1......');
});
$("#news").click(function(){
$(".box_products").load('url2....');
});
});

</script>

و

<div class="radio_b">
<input type="radio" value="14" name="catid" id="fun" />
<label for="fun">fun</label>
</div>
<div class="radio_b">
<input type="radio" value="13" name="catid" id="news" />
<label for="news">news</label>
</div>

توی این روش شما باید برای هردسته یک برگه جدا داشته باشید و کوئری ساده استفاده کنید. یعنی برای هردسته یک برگه با تمپلیت پیج بسازید.

موفق باشید.

1

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


لینک به پست

خب اینکه میاد هر محصول رو 4بار تکرار میکنه از چیه؟؟

0

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


لینک به پست

سلام

یه روش دیگه هم پیدا کردم میخواستم نظرتون رو بدونم!!

اینکه به تعدادی که میخوام کوئری ها رو توی یک template page بسازم بعد برای هر کردوم یه برگه بسازم به template page مرتبط بعد که لینکشون رو بدست آوردم بیام بگم وقتی روی radio 1 کلیک شد لینک x رو باز کن اگر روی radio 2 کلیک شد لینک y رو باز کن

این روش مشکلی نداره؟؟

0

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


لینک به پست

سلام

یه روش دیگه هم پیدا کردم میخواستم نظرتون رو بدونم!!

اینکه به تعدادی که میخوام کوئری ها رو توی یک template page بسازم بعد برای هر کردوم یه برگه بسازم به template page مرتبط بعد که لینکشون رو بدست آوردم بیام بگم وقتی روی radio 1 کلیک شد لینک x رو باز کن اگر روی radio 2 کلیک شد لینک y رو باز کن

این روش مشکلی نداره؟؟

پوزش بابت تاخیر ...

منم منظورم همین بود.

1

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


لینک به پست

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

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

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

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


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

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

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


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