wordpress meta_query value içində array

Salam. Mənim value bazada array kimi saxlanılır, bunu meta query ilə find edə bilmirəm. Kodum bu cürdü amma işləmir. Value hissəsini necə yazmalıyam ki, bazadakı array içindən find edə bilim? [code] $args = array ( 'meta_query' => array( array( 'key' => 'key', 'value' => array( 'child_key' => 'value'), 'compare' => 'LIKE', 'type' => 'CHAR', ) ) ) [/code]

Verilmiş cavablar və yazılan şərhlər (5 cavab var)

E. Hacı (2016-01-14 13:07:36)
Birbaşa əyani tanış olmadan nəsə demək çətindir düzü, amma məsələn bəlkə də ümumi meta_query-niz səhvdir, təkcə problem bu bənddə deyil. Debug etməklə istənilən halda problemi həll etmək olar. Məsələn sql-i display etməklə baxa bilərsiniz ki sizin query-nizin requesti hansı sql formada gedir bazaya ki boş qayldır. Oradan rahatlıqla görmək olur ki səhviniz nədədir və query-yə uyğun sql niyə boş qaytarır. Oradan da qayıdıb query-nizdə müvafiq düzəlişi edərsiz. Bunu da $wp_query->request-i dərc etməklə də bilmək olar, və ya configdə define('SAVEQUERIES', true); verib sonra footerde [php] global $wpdb; var_dump($wpdb->queries); [/php] ilə də.

Anar (2016-01-14 11:38:09)
yoxladım alınmadı. mənim bazadakı array bu cürdü [code] a:2:{i:0;a:1:{s:4:"sahe";s:5:"tibbi";}i:2;a:1:{s:4:"sahe";s:7:"texniki";}}[/code] meta_query bu cür qururam alınmır. [code]'value' => 'tibbi', //bu cür də yoxlamışam serialize(array( 'sahe' => 'tibbi') 'compare' => 'IN', 'type' => 'CHAR',[/code] burda codex-də yazılıb: "value (string|array) - Custom field value. It can be an array only when compare is 'IN', 'NOT IN', 'BETWEEN', or 'NOT BETWEEN'. You don't have to specify a value when using the 'EXISTS' or 'NOT EXISTS' comparisons in WordPress 3.9 and up. " http://codex.wordpress.org/Class_Reference/WP_Query#Custom_Field_Parameters normalda yazdığım kimi tapmalıdır axı amma tapmır. Harda səhf edirəm?

E. Hacı (2016-01-14 08:54:50)
Kod yazmaq olur, sadəcə sual formasından yuxarıda olan təlimatları mütləq oxumaq lazımdır. code teqindən istifadə etmək lazım idi. Gələk sualınıza: meta qiymətini heç bir halda array kimi saxlamaq olmaz. Siz yəqin ki belə kod işlətdikdə bazada ARRAY sözü save olur. Bu da ki təbii ki işə yaramır. Metanın qiyməti mütləq string olmalıdır. Əgər array data-nı saxlamaq vacidirsə, serialize deyə bir məntiq var, ondan yararlana bilərsiz. serialize edirsiz [code] 'value' => serialize(array( 'child_key' => 'value')),[/code] oxuyanda da artıq unserialize edirsiz. Vəssalam. Maraq üçün deyim ki, WordPress-in öz nüvə kodunda bu tip data-ların saxlanmasında serialize yox, JSON istifadə edilir. Yəni istəsəz JSON ilə də saxlaya bilərsiz, məntiq baxımdan serialize ilə tam eynidir. (json_encode, json_decode)

Anar (2016-01-13 20:53:53)
Bu sayta html kod niy' yazmaq olmur? yaz;ram silinir. bu cwr deyirdim: input name="key[0][child_key]

Anar (2016-01-13 20:35:06)
html formdan value-ni bu formada götürürəm ona görə bazaya array kimi düşür. [code][/code]

Mövzu üzrə bənzər suallara da baxa bilərsiniz.

WordPresslə saytı Bloggerə köçürmək

WordPress – featured img nisbəti

WP Youtube embed tənzimlənməsi haqqında

WordPress saytda qəribə link ziyarətçiləri

wordpress: get_the_ID() vs $post->ID

WordPress səhifələr