اذهب إلى المحتوى

السؤال

نشر (معدل)

تعيد لي الدالة term_exists القيمة null رغم وجود term:

$name = "my name"
$taxonomy_name = "geographictermsmaroc"
$args = array("slug" => "everything", "parent" => 0)

var_dump(term_exists($name, $taxonomy_name, $args)); // Returns NULL (not 0)

if ( !term_exists($name, $taxonomy_name, $args) ) {
    $foo = wp_insert_term($name, $taxonomy_name, $args);
    var_dump($foo); // Returns the array below
}

object(WP_Error)#4193 (2) {
  ["errors"]=>
  array(1) {
    ["term_exists"]=>
    array(1) {כל האזורים
      [0]=>
      string(77) "Le Lorem Ipsum est simplement du faux texte employé dans la composition et la mise en page avant impression"
    }
  }
  ["error_data"]=>
  array(1) {
    ["term_exists"]=>
    string(3) "699"
  }
}

وقيمة term موجودة على قاعدة البيانات كما هو موضح:

mysql> select * from wp_term_taxonomy where taxonomy='geographictermsisrael';
+------------------+---------+-----------------------+-------------+--------+-------+
| term_taxonomy_id | term_id | taxonomy              | description | parent | count |
+------------------+---------+-----------------------+-------------+--------+-------+
|              738 |     699 | geographictermsmaroc  |             |      0 |     0 |
+------------------+---------+-----------------------+-------------+--------+-------+
1 row in set (0.00 sec)

mysql> select * from wp_terms where term_id=699;
+---------+---------------------+------------+------------+
| term_id | name                | slug       | term_group |
+---------+---------------------+------------+------------+
|     699 | my name          | everything |          0 |
+---------+---------------------+------------+------------+
1 row in set (0.00 sec)

mysql> select * from wp_term_relationships where term_taxonomy_id=738;
Empty set (0.00 sec)

ما هو المشكل؟ وكيف أحلّه؟

تم التعديل في بواسطة Badraoui

Recommended Posts

  • 0
نشر (معدل)

من خلال ()term_exists يتضح أن القيمة العائدة منها هي عددية -integer- وليست مصفوفة -array-، وكدليل على ذلك، أُرفق في جوابي هذا التوثق الرسمي من موقع ووردبريس:

Parameters
$term
(integer|string) (required) The term to check
Default: None
$taxonomy
(string) (optional) The taxonomy name to use
Default: ''
$parent
(integer) (optional) $parent ID of parent term under which to confine the exists search
Default: 0

إذن كلّ ما عليك هو تمرير القيمة الصحيحة لكي يعمل السكريبت الخاص بك:

var_dump(term_exists($name, $taxonomy_name)); 

ملاحظة: 0 هي القيمة الافتراضية، لن تحتاج للتأكد ذلك.

تم التعديل في بواسطة E.Nourddine

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...