PDA

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



ToooPDL
August 10th, 2016, 19:08
سلام
تعدادی متاباکس تعریف کردم برای یک custom post type و نیاز هست که یه فرم جستجو داشته باشیم که بر اساس داده هایی که توی متاباکس ها وارد شده، جستجو انجام بشه و در صورتی که نتیجه ای در بر داشت، نتایج/نتیجه نمایش داده بشه.
به عبارتی توی یک page که ساخته میشه، یه فرم جستجو داشته باشیم. و مقدار وارد شده با یکی از فیلدهای متاباکس تطبیق داده بشه و در صورت نمایش اطلاعات دیگری رو نمایش بده
و در صورتی که مقدار نامعتبر بود پیغام مشخصی چاپ بشه.


تا حد امکان از افزونه نمیخوام استفاده کنم

T.Toosi
August 11th, 2016, 02:22
$search_value='test';
$args = array(
'post_type' => 'custom post type',
'posts_per_page' => 1000,
'meta_key' => 'keysearch',
'order' => 'ASC',
'meta_query' => array(
array(
'key' => 'keysearch',
'value' => $search_value,
'compare' => 'LIKE',
)
),
);

$query = new WP_Query( $args );

if ( $query->have_posts() ) {

////

else {

echo 'not found';

}

labell
August 11th, 2016, 09:48
ماهم مثل همین مورد نیاز داریم. اقای طوسی بیزحمت نحوه استفاده از کدی که نوشتین رو بگید

T.Toosi
August 11th, 2016, 11:29
ماهم مثل همین مورد نیاز داریم. اقای طوسی بیزحمت نحوه استفاده از کدی که نوشتین رو بگید

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

ToooPDL
August 12th, 2016, 11:40
$search_value='test';
$args = array(
'post_type' => 'custom post type',
'posts_per_page' => 1000,
'meta_key' => 'keysearch',
'order' => 'ASC',
'meta_query' => array(
array(
'key' => 'keysearch',
'value' => $search_value,
'compare' => 'LIKE',
)
),
);

$query = new WP_Query( $args );

if ( $query->have_posts() ) {

////

else {

echo 'not found';

}


ممنونم از شما. فقط قبل else یه { جا افتاده بود.
ولی با این حال جواب نداد
شاید توی خود فرم مشکلی باشه