Sorry

This feed does not validate.

In addition, interoperability with the widest range of feed readers could be improved by implementing the following recommendations.

Source: https://core.trac.wordpress.org/ticket/59774?format=rss

  1. <?xml version="1.0"?>
  2. <rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  3.  <channel>
  4.    <title>WordPress Trac: Ticket #59774: Undefined array key when using wp_list_pluck function</title>
  5.    <link>https://core.trac.wordpress.org/ticket/59774</link>
  6.    <description>&lt;p&gt;
  7. &lt;strong&gt;Bug Description:&lt;/strong&gt;
  8. &lt;/p&gt;
  9. &lt;p&gt;
  10. &lt;strong&gt;Issue&lt;/strong&gt;: When using the &lt;code&gt;wp_list_pluck&lt;/code&gt; function to extract values from an array, a PHP warning is triggered if the specified key is not found within the array. The warning message is as follows:
  11. &lt;/p&gt;
  12. &lt;p&gt;
  13. &lt;code&gt;PHP Warning: Undefined array key "required" in /var/www/html/wp-includes/class-wp-list-util.php on line 171&lt;/code&gt;
  14. &lt;/p&gt;
  15. &lt;p&gt;
  16. &lt;strong&gt;Steps to Reproduce&lt;/strong&gt;:
  17. &lt;/p&gt;
  18. &lt;ol&gt;&lt;li&gt;Use the &lt;code&gt;wp_list_pluck&lt;/code&gt; function on an array.
  19. &lt;/li&gt;&lt;li&gt;Specify a key that may or may not exist within the array.
  20. &lt;/li&gt;&lt;li&gt;Observe the PHP warning generated when the key is not found.
  21. &lt;/li&gt;&lt;/ol&gt;&lt;p&gt;
  22. &lt;strong&gt;Expected Behavior&lt;/strong&gt;:
  23. The &lt;code&gt;wp_list_pluck&lt;/code&gt; function should gracefully handle cases where the specified key is not present in the array and not trigger a PHP warning.
  24. &lt;/p&gt;
  25. &lt;p&gt;
  26. &lt;strong&gt;Actual Behavior&lt;/strong&gt;:
  27. The function generates a PHP warning with an "Undefined array key" message, which could lead to unnecessary log clutter and confusion.
  28. &lt;/p&gt;
  29. &lt;p&gt;
  30. &lt;strong&gt;Environment&lt;/strong&gt;:
  31. &lt;/p&gt;
  32. &lt;ul&gt;&lt;li&gt;WordPress version: 6.3 and Higher
  33. &lt;/li&gt;&lt;li&gt;PHP version: &amp;gt;= 8
  34. &lt;/li&gt;&lt;li&gt;Operating system: UBUNTU
  35. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
  36. &lt;strong&gt;Proposed Solution&lt;/strong&gt;:
  37. To handle this situation gracefully without errors, you can check if the key exists in the array before attempting to access it. You can use the isset() function to determine if the key exists. Here's how you can modify the code:
  38. &lt;/p&gt;
  39. &lt;div style="font-size: 80%" class="wikipage"&gt;&lt;p&gt;
  40. Code highlighting:
  41. &lt;/p&gt;
  42. &lt;div class="wiki-code"&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span class="x"&gt;if (is_object($value)) {
  43.  $newlist[$key] = isset($value-&amp;gt;$field) ? $value-&amp;gt;$field : array();
  44. } elseif (is_array($value)) {
  45.  $newlist[$key] = isset($value[$field]) ? $value[$field] : array();
  46. } else {
  47.  _doing_it_wrong(
  48.      __METHOD__,
  49.      __('Values for the input array must be either objects or arrays.'),
  50.      '6.2.0'
  51.  );
  52. }
  53. &lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;
  54. In the modified code, we use isset() to check if the key $field exists in either the object or the array. If the key exists, it assigns the value to $newlist[$key]. If the key doesn't exist, it assigns empty array().
  55. &lt;/p&gt;
  56. &lt;p&gt;
  57. This modification will prevent the code from triggering an error when attempting to access non-existent keys in an array or object. Instead, it will gracefully assign empty array().
  58. &lt;/p&gt;
  59. </description>
  60.    <language>en-us</language>
  61.    <image>
  62.      <title>WordPress Trac</title>
  63.      <url>https://core.trac.wordpress.org/chrome/site/your_project_logo.png</url>
  64.      <link>https://core.trac.wordpress.org/ticket/59774</link>
  65.    </image>
  66.    <generator>Trac 1.2.2</generator>
  67.    <item>
  68.      
  69.        <dc:creator>iamarunchaitanyajami</dc:creator>
  70.  
  71.      <pubDate>Tue, 31 Oct 2023 12:33:39 GMT</pubDate>
  72.      <title>attachment set</title>
  73.      <link>https://core.trac.wordpress.org/ticket/59774</link>
  74.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774</guid>
  75.      <description>
  76.          &lt;ul&gt;
  77.            &lt;li&gt;&lt;strong&gt;attachment&lt;/strong&gt;
  78.                set to &lt;em&gt;class-wp-list-util.php&lt;/em&gt;
  79.            &lt;/li&gt;
  80.          &lt;/ul&gt;
  81.      </description>
  82.      <category>Ticket</category>
  83.    </item><item>
  84.      
  85.        <dc:creator>prbot</dc:creator>
  86.  
  87.      <pubDate>Tue, 31 Oct 2023 12:56:07 GMT</pubDate>
  88.      <title></title>
  89.      <link>https://core.trac.wordpress.org/ticket/59774#comment:1</link>
  90.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:1</guid>
  91.      <description>
  92.        &lt;p&gt;
  93. &lt;em&gt;This ticket was mentioned in &lt;a class="ext-link" href="https://github.com/WordPress/wordpress-develop/pull/5596"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;PR #5596&lt;/a&gt; on &lt;a class="ext-link" href="https://github.com/WordPress/wordpress-develop/"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;WordPress/wordpress-develop&lt;/a&gt; by &lt;a class="ext-link" href="https://profiles.wordpress.org/iamarunchaitanyajami/"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;@iamarunchaitanyajami&lt;/a&gt;.&lt;/em&gt;
  94. In this PR, we use coalescing operator &lt;code&gt;??&lt;/code&gt; to check if the key &lt;code&gt;$field&lt;/code&gt; exists in either the object or the array. If the key exists, it assigns the value to &lt;code&gt;$newlist[$key]&lt;/code&gt;. If the key doesn't exist, it assigns empty &lt;code&gt;array()&lt;/code&gt;.
  95. This modification will prevent the code from triggering an error when attempting to access non-existent keys in an array or object. Instead, it will gracefully assign empty &lt;code&gt;array()&lt;/code&gt;.
  96. &lt;/p&gt;
  97. &lt;p&gt;
  98. Trac ticket: &lt;a href="https://core.trac.wordpress.org/ticket/59774"&gt;https://core.trac.wordpress.org/ticket/59774&lt;/a&gt;
  99. &lt;/p&gt;
  100.      </description>
  101.      <category>Ticket</category>
  102.    </item><item>
  103.      
  104.        <dc:creator>iamarunchaitanyajami</dc:creator>
  105.  
  106.      <pubDate>Tue, 31 Oct 2023 13:07:17 GMT</pubDate>
  107.      <title></title>
  108.      <link>https://core.trac.wordpress.org/ticket/59774#comment:2</link>
  109.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:2</guid>
  110.      <description>
  111.        &lt;p&gt;
  112. Instead of using isset we will be using coalescing operator ?? to check if the key $field exists.
  113. &lt;/p&gt;
  114. &lt;p&gt;
  115. So the updated code will be
  116. &lt;/p&gt;
  117. &lt;blockquote class="citation"&gt;
  118. &lt;div style="font-size: 80%" class="wikipage"&gt;&lt;p&gt;
  119. Code highlighting:
  120. &lt;/p&gt;
  121. &lt;div class="wiki-code"&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span class="x"&gt;if (is_object($value)) {
  122.  $newlist[$key] = $value-&amp;gt;$field ?? array();
  123. } elseif (is_array($value)) {
  124.  $newlist[$key] = $value[ $field ] ?? array();
  125. } else {
  126.  _doing_it_wrong(
  127.      __METHOD__,
  128.      __('Values for the input array must be either objects or arrays.'),
  129.      '6.2.0'
  130.  );
  131. }
  132. &lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;
  133. &lt;p&gt;
  134. Replying to &lt;a class="reopened ticket" href="https://core.trac.wordpress.org/ticket/59774" title="#59774: defect (bug): Undefined array key when using wp_list_pluck function (reopened)"&gt;iamarunchaitanyajami&lt;/a&gt;:
  135. &lt;/p&gt;
  136. &lt;blockquote class="citation"&gt;
  137. &lt;p&gt;
  138. &lt;strong&gt;Bug Description:&lt;/strong&gt;
  139. &lt;/p&gt;
  140. &lt;p&gt;
  141. &lt;strong&gt;Issue&lt;/strong&gt;: When using the &lt;code&gt;wp_list_pluck&lt;/code&gt; function to extract values from an array, a PHP warning is triggered if the specified key is not found within the array. The warning message is as follows:
  142. &lt;/p&gt;
  143. &lt;p&gt;
  144. &lt;code&gt;PHP Warning: Undefined array key "required" in /var/www/html/wp-includes/class-wp-list-util.php on line 171&lt;/code&gt;
  145. &lt;/p&gt;
  146. &lt;p&gt;
  147. &lt;strong&gt;Steps to Reproduce&lt;/strong&gt;:
  148. &lt;/p&gt;
  149. &lt;ol&gt;&lt;li&gt;Use the &lt;code&gt;wp_list_pluck&lt;/code&gt; function on an array.
  150. &lt;/li&gt;&lt;li&gt;Specify a key that may or may not exist within the array.
  151. &lt;/li&gt;&lt;li&gt;Observe the PHP warning generated when the key is not found.
  152. &lt;/li&gt;&lt;/ol&gt;&lt;p&gt;
  153. &lt;strong&gt;Expected Behavior&lt;/strong&gt;:
  154. The &lt;code&gt;wp_list_pluck&lt;/code&gt; function should gracefully handle cases where the specified key is not present in the array and not trigger a PHP warning.
  155. &lt;/p&gt;
  156. &lt;p&gt;
  157. &lt;strong&gt;Actual Behavior&lt;/strong&gt;:
  158. The function generates a PHP warning with an "Undefined array key" message, which could lead to unnecessary log clutter and confusion.
  159. &lt;/p&gt;
  160. &lt;p&gt;
  161. &lt;strong&gt;Environment&lt;/strong&gt;:
  162. &lt;/p&gt;
  163. &lt;ul&gt;&lt;li&gt;WordPress version: 6.3 and Higher
  164. &lt;/li&gt;&lt;li&gt;PHP version: &amp;gt;= 8
  165. &lt;/li&gt;&lt;li&gt;Operating system: UBUNTU
  166. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
  167. &lt;strong&gt;Proposed Solution&lt;/strong&gt;:
  168. To handle this situation gracefully without errors, you can check if the key exists in the array before attempting to access it. You can use the isset() function to determine if the key exists. Here's how you can modify the code:
  169. &lt;/p&gt;
  170. &lt;div style="font-size: 80%" class="wikipage"&gt;&lt;p&gt;
  171. Code highlighting:
  172. &lt;/p&gt;
  173. &lt;div class="wiki-code"&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span class="x"&gt;if (is_object($value)) {
  174.  $newlist[$key] = isset($value-&amp;gt;$field) ? $value-&amp;gt;$field : array();
  175. } elseif (is_array($value)) {
  176.  $newlist[$key] = isset($value[$field]) ? $value[$field] : array();
  177. } else {
  178.  _doing_it_wrong(
  179.      __METHOD__,
  180.      __('Values for the input array must be either objects or arrays.'),
  181.      '6.2.0'
  182.  );
  183. }
  184. &lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;
  185. In the modified code, we use isset() to check if the key $field exists in either the object or the array. If the key exists, it assigns the value to $newlist[$key]. If the key doesn't exist, it assigns empty array().
  186. &lt;/p&gt;
  187. &lt;p&gt;
  188. This modification will prevent the code from triggering an error when attempting to access non-existent keys in an array or object. Instead, it will gracefully assign empty array().
  189. &lt;/p&gt;
  190. &lt;/blockquote&gt;
  191.      </description>
  192.      <category>Ticket</category>
  193.    </item><item>
  194.      
  195.        <dc:creator>hellofromTonya</dc:creator>
  196.  
  197.      <pubDate>Tue, 31 Oct 2023 13:29:23 GMT</pubDate>
  198.      <title>keywords, version, milestone changed</title>
  199.      <link>https://core.trac.wordpress.org/ticket/59774#comment:3</link>
  200.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:3</guid>
  201.      <description>
  202.          &lt;ul&gt;
  203.            &lt;li&gt;&lt;strong&gt;keywords&lt;/strong&gt;
  204.              &lt;em&gt;needs-unit-tests&lt;/em&gt; &lt;em&gt;has-testing-info&lt;/em&gt; added
  205.            &lt;/li&gt;
  206.            &lt;li&gt;&lt;strong&gt;version&lt;/strong&gt;
  207.                changed from &lt;em&gt;trunk&lt;/em&gt; to &lt;em&gt;5.1&lt;/em&gt;
  208.            &lt;/li&gt;
  209.            &lt;li&gt;&lt;strong&gt;milestone&lt;/strong&gt;
  210.                changed from &lt;em&gt;Awaiting Review&lt;/em&gt; to &lt;em&gt;6.5&lt;/em&gt;
  211.            &lt;/li&gt;
  212.          &lt;/ul&gt;
  213.        &lt;p&gt;
  214. Hello @iamarunchaitanyajami,
  215. &lt;/p&gt;
  216. &lt;p&gt;
  217. Welcome to WordPress Core's Trac :) Thank you for opening this ticket.
  218. &lt;/p&gt;
  219. &lt;p&gt;
  220. I'm doing some ticket triage to help this ticket be in a ready state for consideration:
  221. &lt;/p&gt;
  222. &lt;ul&gt;&lt;li&gt;&lt;code&gt;Version&lt;/code&gt; is the WP version that introduced the code or issue. The code in question was introduced in &lt;a class="changeset" href="https://core.trac.wordpress.org/changeset/42527" title="General: Allow `wp_list_pluck()` to operate on arrays of references ..."&gt;[42527]&lt;/a&gt; via &lt;a class="closed ticket" href="https://core.trac.wordpress.org/ticket/16895" title="#16895: enhancement: wp_list_pluck cannot be used with arrays of references (closed: fixed)"&gt;#16895&lt;/a&gt; during WP 5.1.
  223. &lt;/li&gt;&lt;li&gt;Moving into 6.5 for consideration.
  224. &lt;/li&gt;&lt;li&gt;Keywords:
  225. &lt;ul&gt;&lt;li&gt;Adding &lt;code&gt;needs-unit-tests&lt;/code&gt; as tests can help to show the issue, confirm it is resolved, and help with future regressions.
  226. &lt;/li&gt;&lt;li&gt;Adding &lt;code&gt;has-testing-info&lt;/code&gt; as you shared the steps to reproduce in the description - thank you :)
  227. &lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
  228.      </description>
  229.      <category>Ticket</category>
  230.    </item><item>
  231.      
  232.        <dc:creator>helgatheviking</dc:creator>
  233.  
  234.      <pubDate>Sat, 16 Dec 2023 13:03:47 GMT</pubDate>
  235.      <title></title>
  236.      <link>https://core.trac.wordpress.org/ticket/59774#comment:4</link>
  237.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:4</guid>
  238.      <description>
  239.        &lt;p&gt;
  240. I am seeing this issue as well following the same steps. Following.
  241. &lt;/p&gt;
  242.      </description>
  243.      <category>Ticket</category>
  244.    </item><item>
  245.      
  246.        <dc:creator>david.binda</dc:creator>
  247.  
  248.      <pubDate>Mon, 22 Jan 2024 14:46:20 GMT</pubDate>
  249.      <title></title>
  250.      <link>https://core.trac.wordpress.org/ticket/59774#comment:5</link>
  251.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:5</guid>
  252.      <description>
  253.        &lt;p&gt;
  254. Looking into the function and related PHPUnit tests, my understanding of the &lt;code&gt;wp_list_pluck&lt;/code&gt; implementation is that it should mimic the &lt;code&gt;array_column&lt;/code&gt; behaviour for both, arrays and objects.
  255. &lt;/p&gt;
  256. &lt;p&gt;
  257. And thus my assumption is that we should not add an arbitrary value, &lt;code&gt;array()&lt;/code&gt;, to a non-existing key as is being proposed, as the &lt;code&gt;array_column&lt;/code&gt; simply skips the entry with a missing key. Eg.:
  258. &lt;/p&gt;
  259. &lt;div class="wiki-code"&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt;
  260. &lt;span class="nv"&gt;$input_list&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;array&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
  261.    &lt;span class="k"&gt;array&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="s1"&gt;'123'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'456'&lt;/span&gt; &lt;span class="p"&gt;),&lt;/span&gt;
  262.    &lt;span class="k"&gt;array&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="s1"&gt;'foo'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'bar'&lt;/span&gt; &lt;span class="p"&gt;),&lt;/span&gt;
  263.    &lt;span class="k"&gt;array&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="s1"&gt;'foo'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'baz'&lt;/span&gt; &lt;span class="p"&gt;),&lt;/span&gt;
  264. &lt;span class="p"&gt;);&lt;/span&gt;
  265. &lt;span class="nb"&gt;var_dump&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="nx"&gt;array_column&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;$input_list&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'foo'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;null&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
  266. &lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;
  267. produces:
  268. &lt;/p&gt;
  269. &lt;pre class="wiki"&gt;array(2) {
  270.  [0]=&amp;gt;
  271.  string(3) "bar"
  272.  [1]=&amp;gt;
  273.  string(3) "baz"
  274. }
  275. &lt;/pre&gt;&lt;p&gt;
  276. I'm attaching another version of the patch as well as PHPUnit tests. While writting the PHPUnit tests, I have noticed another PHP Warning which would occur in case the &lt;code&gt;$index_key&lt;/code&gt; param of the &lt;code&gt;wp_list_pluck&lt;/code&gt; is not &lt;code&gt;null&lt;/code&gt;, but the &lt;code&gt;$field&lt;/code&gt; is missing in one of the &lt;code&gt;$input_list&lt;/code&gt; items. I have modified existing PHPUnit tests to cover such a situation.
  277. &lt;/p&gt;
  278.      </description>
  279.      <category>Ticket</category>
  280.    </item><item>
  281.      
  282.        <dc:creator>david.binda</dc:creator>
  283.  
  284.      <pubDate>Mon, 22 Jan 2024 14:46:41 GMT</pubDate>
  285.      <title>attachment set</title>
  286.      <link>https://core.trac.wordpress.org/ticket/59774</link>
  287.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774</guid>
  288.      <description>
  289.          &lt;ul&gt;
  290.            &lt;li&gt;&lt;strong&gt;attachment&lt;/strong&gt;
  291.                set to &lt;em&gt;59774.diff&lt;/em&gt;
  292.            &lt;/li&gt;
  293.          &lt;/ul&gt;
  294.      </description>
  295.      <category>Ticket</category>
  296.    </item><item>
  297.      
  298.        <dc:creator>swissspidy</dc:creator>
  299.  
  300.      <pubDate>Fri, 02 Feb 2024 10:20:32 GMT</pubDate>
  301.      <title>component changed</title>
  302.      <link>https://core.trac.wordpress.org/ticket/59774#comment:6</link>
  303.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:6</guid>
  304.      <description>
  305.          &lt;ul&gt;
  306.            &lt;li&gt;&lt;strong&gt;component&lt;/strong&gt;
  307.                changed from &lt;em&gt;Script Loader&lt;/em&gt; to &lt;em&gt;General&lt;/em&gt;
  308.            &lt;/li&gt;
  309.          &lt;/ul&gt;
  310.      </description>
  311.      <category>Ticket</category>
  312.    </item><item>
  313.      
  314.        <dc:creator>slackbot</dc:creator>
  315.  
  316.      <pubDate>Thu, 22 Feb 2024 20:02:35 GMT</pubDate>
  317.      <title></title>
  318.      <link>https://core.trac.wordpress.org/ticket/59774#comment:7</link>
  319.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:7</guid>
  320.      <description>
  321.        &lt;p&gt;
  322. &lt;em&gt;This ticket was mentioned in &lt;a class="ext-link" href="https://make.wordpress.org/chat/"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;Slack&lt;/a&gt; in #core by rajinsharwar. &lt;a class="ext-link" href="https://wordpress.slack.com/archives/core/p1708632153713759"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;View the logs&lt;/a&gt;.&lt;/em&gt;
  323. &lt;/p&gt;
  324.      </description>
  325.      <category>Ticket</category>
  326.    </item><item>
  327.      
  328.        <dc:creator>rajinsharwar</dc:creator>
  329.  
  330.      <pubDate>Thu, 22 Feb 2024 20:08:00 GMT</pubDate>
  331.      <title>keywords changed</title>
  332.      <link>https://core.trac.wordpress.org/ticket/59774#comment:8</link>
  333.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:8</guid>
  334.      <description>
  335.          &lt;ul&gt;
  336.            &lt;li&gt;&lt;strong&gt;keywords&lt;/strong&gt;
  337.              &lt;em&gt;needs-unit-tests&lt;/em&gt; removed
  338.            &lt;/li&gt;
  339.          &lt;/ul&gt;
  340.        &lt;p&gt;
  341. Removing the "needs-unit-tests" tag, and keeping this in the milestone. Hopefully, we can get some feedback from the committers if this is good to be merged.
  342. &lt;/p&gt;
  343.      </description>
  344.      <category>Ticket</category>
  345.    </item><item>
  346.      
  347.        <dc:creator>hellofromTonya</dc:creator>
  348.  
  349.      <pubDate>Thu, 22 Feb 2024 20:34:40 GMT</pubDate>
  350.      <title>keywords, status changed; owner set</title>
  351.      <link>https://core.trac.wordpress.org/ticket/59774#comment:9</link>
  352.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:9</guid>
  353.      <description>
  354.          &lt;ul&gt;
  355.            &lt;li&gt;&lt;strong&gt;keywords&lt;/strong&gt;
  356.              &lt;em&gt;has-unit-tests&lt;/em&gt; added
  357.            &lt;/li&gt;
  358.            &lt;li&gt;&lt;strong&gt;owner&lt;/strong&gt;
  359.              set to &lt;em&gt;hellofromTonya&lt;/em&gt;
  360.            &lt;/li&gt;
  361.            &lt;li&gt;&lt;strong&gt;status&lt;/strong&gt;
  362.                changed from &lt;em&gt;new&lt;/em&gt; to &lt;em&gt;reviewing&lt;/em&gt;
  363.            &lt;/li&gt;
  364.          &lt;/ul&gt;
  365.        &lt;p&gt;
  366. Patch: &lt;a class="attachment" href="https://core.trac.wordpress.org/attachment/ticket/59774/59774.diff" title="Attachment '59774.diff' in Ticket #59774"&gt;59774.diff&lt;/a&gt;&lt;a class="trac-rawlink" href="https://core.trac.wordpress.org/raw-attachment/ticket/59774/59774.diff" title="Download"&gt;​&lt;/a&gt;
  367. &lt;/p&gt;
  368. &lt;p&gt;
  369. As @davidbinda noted, the function should behave the same as &lt;code&gt;array_column()&lt;/code&gt; but also handle objects.
  370. &lt;/p&gt;
  371. &lt;p&gt;
  372. I can reproduce the reported issue. Here it is in action &lt;a class="ext-link" href="https://3v4l.org/RtbZJ#veol"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://3v4l.org/RtbZJ#veol&lt;/a&gt;.
  373. &lt;/p&gt;
  374. &lt;p&gt;
  375. After applying the patch, it resolves the issue &lt;a class="ext-link" href="https://3v4l.org/EuHT5#veol"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://3v4l.org/EuHT5#veol&lt;/a&gt;
  376. &lt;/p&gt;
  377. &lt;p&gt;
  378. I'll port the patch over to a PR to let the automated CI jobs run. But then should be ready for commit. Self-assigning.
  379. &lt;/p&gt;
  380.      </description>
  381.      <category>Ticket</category>
  382.    </item><item>
  383.      
  384.        <dc:creator>prbot</dc:creator>
  385.  
  386.      <pubDate>Thu, 22 Feb 2024 20:45:36 GMT</pubDate>
  387.      <title></title>
  388.      <link>https://core.trac.wordpress.org/ticket/59774#comment:10</link>
  389.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:10</guid>
  390.      <description>
  391.        &lt;p&gt;
  392. &lt;em&gt;This ticket was mentioned in &lt;a class="ext-link" href="https://github.com/WordPress/wordpress-develop/pull/6166"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;PR #6166&lt;/a&gt; on &lt;a class="ext-link" href="https://github.com/WordPress/wordpress-develop/"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;WordPress/wordpress-develop&lt;/a&gt; by &lt;a class="ext-link" href="https://profiles.wordpress.org/hellofromtonya/"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;@hellofromTonya&lt;/a&gt;.&lt;/em&gt;
  393. Ports &lt;a href="https://core.trac.wordpress.org/attachment/ticket/59774/59774.diff"&gt;https://core.trac.wordpress.org/attachment/ticket/59774/59774.diff&lt;/a&gt; here to gain a full run against the automated CI jobs for commit consideration.
  394. &lt;/p&gt;
  395. &lt;p&gt;
  396. Trac ticket: &lt;a href="https://core.trac.wordpress.org/ticket/59774"&gt;https://core.trac.wordpress.org/ticket/59774&lt;/a&gt;
  397. &lt;/p&gt;
  398.      </description>
  399.      <category>Ticket</category>
  400.    </item><item>
  401.      
  402.        <dc:creator>hellofromTonya</dc:creator>
  403.  
  404.      <pubDate>Thu, 22 Feb 2024 20:57:31 GMT</pubDate>
  405.      <title>keywords changed</title>
  406.      <link>https://core.trac.wordpress.org/ticket/59774#comment:11</link>
  407.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:11</guid>
  408.      <description>
  409.          &lt;ul&gt;
  410.            &lt;li&gt;&lt;strong&gt;keywords&lt;/strong&gt;
  411.              &lt;em&gt;commit&lt;/em&gt; added
  412.            &lt;/li&gt;
  413.          &lt;/ul&gt;
  414.        &lt;p&gt;
  415. &lt;a class="ext-link" href="https://github.com/WordPress/wordpress-develop/pull/6166"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://github.com/WordPress/wordpress-develop/pull/6166&lt;/a&gt;
  416. &lt;/p&gt;
  417. &lt;p&gt;
  418. The patch is ready for commit. Prepping shortly.
  419. &lt;/p&gt;
  420.      </description>
  421.      <category>Ticket</category>
  422.    </item><item>
  423.      
  424.        <dc:creator>hellofromTonya</dc:creator>
  425.  
  426.      <pubDate>Thu, 22 Feb 2024 21:48:47 GMT</pubDate>
  427.      <title></title>
  428.      <link>https://core.trac.wordpress.org/ticket/59774#comment:12</link>
  429.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:12</guid>
  430.      <description>
  431.        &lt;p&gt;
  432. Hmm wait. Upon a deeper look, this ticket is resolving 2 the PHP warning and setting &lt;code&gt;null&lt;/code&gt; for the item in the returned list.
  433. &lt;/p&gt;
  434. &lt;p&gt;
  435. When comparing the results of:
  436. &lt;/p&gt;
  437. &lt;div class="wiki-code"&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span class="x"&gt;$input_list = array(
  438.    array( '123' =&amp;gt; '456' ),
  439.    array( 'foo' =&amp;gt; 'bar' ),
  440.    array( 'foo' =&amp;gt; 'baz' ),
  441. );
  442. var_dump( array_column( $input_list, 'foo', null ) );
  443. var_dump( wp_list_pluck( $input_list, 'foo', null ) );
  444. &lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;
  445. &lt;code&gt;array_column()&lt;/code&gt; prints:
  446. &lt;/p&gt;
  447. &lt;pre class="wiki"&gt;array(2) {
  448.  [0]=&amp;gt;
  449.  string(3) "bar"
  450.  [1]=&amp;gt;
  451.  string(3) "baz"
  452. }
  453. &lt;/pre&gt;&lt;p&gt;
  454. but &lt;code&gt;wp_list_pluck()&lt;/code&gt; prints:
  455. &lt;/p&gt;
  456. &lt;pre class="wiki"&gt;Warning: Undefined array key "foo" in ...
  457. array(3) {
  458.  [0]=&amp;gt;
  459.  NULL
  460.  [1]=&amp;gt;
  461.  string(3) "bar"
  462.  [2]=&amp;gt;
  463.  string(3) "baz"
  464. }
  465. &lt;/pre&gt;&lt;p&gt;
  466. Notice the difference. The first element is &lt;code&gt;null&lt;/code&gt;. So the issue is more than the a PHP Warning, as the &lt;code&gt;NULL&lt;/code&gt; should not be there.
  467. &lt;/p&gt;
  468.      </description>
  469.      <category>Ticket</category>
  470.    </item><item>
  471.      
  472.        <dc:creator>hellofromTonya</dc:creator>
  473.  
  474.      <pubDate>Thu, 22 Feb 2024 21:50:11 GMT</pubDate>
  475.      <title>status changed; resolution set</title>
  476.      <link>https://core.trac.wordpress.org/ticket/59774#comment:13</link>
  477.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:13</guid>
  478.      <description>
  479.          &lt;ul&gt;
  480.            &lt;li&gt;&lt;strong&gt;status&lt;/strong&gt;
  481.                changed from &lt;em&gt;reviewing&lt;/em&gt; to &lt;em&gt;closed&lt;/em&gt;
  482.            &lt;/li&gt;
  483.            &lt;li&gt;&lt;strong&gt;resolution&lt;/strong&gt;
  484.                set to &lt;em&gt;fixed&lt;/em&gt;
  485.            &lt;/li&gt;
  486.          &lt;/ul&gt;
  487.        &lt;p&gt;
  488. In &lt;a class="changeset" href="https://core.trac.wordpress.org/changeset/57698" title="General: Handle missing field in WP_List_Util::pluck().
  489. Handles when ..."&gt;57698&lt;/a&gt;:
  490. &lt;/p&gt;
  491. &lt;div class="message"&gt;&lt;p&gt;
  492. General: Handle missing field in WP_List_Util::pluck().&lt;br /&gt;
  493. &lt;/p&gt;
  494. &lt;p&gt;
  495. Handles when the &lt;code&gt;$field&lt;/code&gt; (i.e. key or property) is missing in one of the &lt;code&gt;$input_list&lt;/code&gt; items by checking the key (array) or property (object) exists before using it for assignment.&lt;br /&gt;
  496. &lt;/p&gt;
  497. &lt;p&gt;
  498. Resolves the following bugs:&lt;br /&gt;
  499. &lt;/p&gt;
  500. &lt;ul&gt;&lt;li&gt;a PHP warning for undefined key|property.
  501. &lt;/li&gt;&lt;li&gt;&lt;code&gt;null&lt;/code&gt; being set for that array or object within the returned list.
  502. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
  503. The changes resolve the issues in both &lt;code&gt;WP_List_Util::pluck()&lt;/code&gt; (if invoked directly) and &lt;code&gt;wp_list_pluck()&lt;/code&gt;.&lt;br /&gt;
  504. &lt;/p&gt;
  505. &lt;p&gt;
  506. Also includes an additional test for the scenario where the &lt;code&gt;wp_list_pluck()&lt;/code&gt; &lt;code&gt;$index_key&lt;/code&gt; is not &lt;code&gt;null&lt;/code&gt;, the &lt;code&gt;$field&lt;/code&gt; is missing in one of the &lt;code&gt;$input_list&lt;/code&gt; items.&lt;br /&gt;
  507. &lt;/p&gt;
  508. &lt;p&gt;
  509. Follow-up to &lt;a class="changeset" href="https://core.trac.wordpress.org/changeset/55423" title="General: Add more error checking to `WP_List_Util::pluck()`.
  510. Values ..."&gt;[55423]&lt;/a&gt;, &lt;a class="changeset" href="https://core.trac.wordpress.org/changeset/51663" title="Tests: Move `wp_list_pluck()` tests to their own file.
  511. The tests were ..."&gt;[51663]&lt;/a&gt;, &lt;a class="changeset" href="https://core.trac.wordpress.org/changeset/42527" title="General: Allow `wp_list_pluck()` to operate on arrays of references ..."&gt;[42527]&lt;/a&gt;, &lt;a class="changeset" href="https://core.trac.wordpress.org/changeset/38928" title="General: Introduce a `wp_list_sort()` helper function, v2.
  512. In ..."&gt;[38928]&lt;/a&gt;.&lt;br /&gt;
  513. &lt;/p&gt;
  514. &lt;p&gt;
  515. Props iamarunchaitanyajami, davidbinda, hellofromTonya, helgatheviking.&lt;br /&gt;
  516. Fixes &lt;a class="reopened ticket" href="https://core.trac.wordpress.org/ticket/59774" title="#59774: defect (bug): Undefined array key when using wp_list_pluck function (reopened)"&gt;#59774&lt;/a&gt;.&lt;br /&gt;
  517. &lt;/p&gt;
  518. &lt;/div&gt;
  519.      </description>
  520.      <category>Ticket</category>
  521.    </item><item>
  522.      
  523.        <dc:creator>prbot</dc:creator>
  524.  
  525.      <pubDate>Thu, 22 Feb 2024 21:52:32 GMT</pubDate>
  526.      <title></title>
  527.      <link>https://core.trac.wordpress.org/ticket/59774#comment:14</link>
  528.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:14</guid>
  529.      <description>
  530.        &lt;p&gt;
  531. &lt;a class="ext-link" href="https://profiles.wordpress.org/hellofromtonya/"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;@hellofromTonya&lt;/a&gt; commented on &lt;a class="ext-link" href="https://github.com/WordPress/wordpress-develop/pull/5596#issuecomment-1960378775"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;PR #5596&lt;/a&gt;:
  532. &lt;/p&gt;
  533. &lt;p&gt;
  534. Thank you for submitting this patch. As &lt;a href="https://core.trac.wordpress.org/ticket/59774#comment:5"&gt;explained here in the ticket&lt;/a&gt;, assigning an empty array is not desired. I'm closing this PR in favor of this commit &lt;a href="https://core.trac.wordpress.org/ticket/59774"&gt;https://core.trac.wordpress.org/ticket/59774&lt;/a&gt;.
  535. &lt;/p&gt;
  536.      </description>
  537.      <category>Ticket</category>
  538.    </item><item>
  539.      
  540.        <dc:creator>prbot</dc:creator>
  541.  
  542.      <pubDate>Thu, 22 Feb 2024 21:53:09 GMT</pubDate>
  543.      <title></title>
  544.      <link>https://core.trac.wordpress.org/ticket/59774#comment:15</link>
  545.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:15</guid>
  546.      <description>
  547.        &lt;p&gt;
  548. &lt;a class="ext-link" href="https://profiles.wordpress.org/hellofromtonya/"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;@hellofromTonya&lt;/a&gt; commented on &lt;a class="ext-link" href="https://github.com/WordPress/wordpress-develop/pull/6166#issuecomment-1960379476"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;PR #6166&lt;/a&gt;:
  549. &lt;/p&gt;
  550. &lt;p&gt;
  551. Committed via &lt;a href="https://core.trac.wordpress.org/changeset/57698"&gt;https://core.trac.wordpress.org/changeset/57698&lt;/a&gt;.
  552. &lt;/p&gt;
  553.      </description>
  554.      <category>Ticket</category>
  555.    </item><item>
  556.      
  557.        <dc:creator>dd32</dc:creator>
  558.  
  559.      <pubDate>Sun, 25 Feb 2024 23:37:27 GMT</pubDate>
  560.      <title>status changed; resolution deleted</title>
  561.      <link>https://core.trac.wordpress.org/ticket/59774#comment:16</link>
  562.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:16</guid>
  563.      <description>
  564.          &lt;ul&gt;
  565.            &lt;li&gt;&lt;strong&gt;status&lt;/strong&gt;
  566.                changed from &lt;em&gt;closed&lt;/em&gt; to &lt;em&gt;reopened&lt;/em&gt;
  567.            &lt;/li&gt;
  568.            &lt;li&gt;&lt;strong&gt;resolution&lt;/strong&gt;
  569.                &lt;em&gt;fixed&lt;/em&gt; deleted
  570.            &lt;/li&gt;
  571.          &lt;/ul&gt;
  572.        &lt;p&gt;
  573. This has caused a regression for arrays of objects which have magic methods for getting properties.
  574. &lt;/p&gt;
  575. &lt;p&gt;
  576. For example:
  577. &lt;/p&gt;
  578. &lt;pre class="wiki"&gt;wp_list_pluck( [ get_user_by('ID', 1) ], 'user_email' );
  579. &lt;/pre&gt;&lt;p&gt;
  580. returns an empty &lt;code&gt;array()&lt;/code&gt; while &lt;code&gt;get_user_by('ID', 1)-&amp;gt;user_email&lt;/code&gt; returns a string.
  581. &lt;/p&gt;
  582.      </description>
  583.      <category>Ticket</category>
  584.    </item><item>
  585.      
  586.        <dc:creator>slackbot</dc:creator>
  587.  
  588.      <pubDate>Sun, 25 Feb 2024 23:52:22 GMT</pubDate>
  589.      <title></title>
  590.      <link>https://core.trac.wordpress.org/ticket/59774#comment:17</link>
  591.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:17</guid>
  592.      <description>
  593.        &lt;p&gt;
  594. &lt;em&gt;This ticket was mentioned in &lt;a class="ext-link" href="https://make.wordpress.org/chat/"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;Slack&lt;/a&gt; in #forums by dd32. &lt;a class="ext-link" href="https://wordpress.slack.com/archives/forums/p1708905141164539"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;View the logs&lt;/a&gt;.&lt;/em&gt;
  595. &lt;/p&gt;
  596.      </description>
  597.      <category>Ticket</category>
  598.    </item><item>
  599.      
  600.        <dc:creator>dd32</dc:creator>
  601.  
  602.      <pubDate>Mon, 26 Feb 2024 00:00:02 GMT</pubDate>
  603.      <title></title>
  604.      <link>https://core.trac.wordpress.org/ticket/59774#comment:18</link>
  605.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:18</guid>
  606.      <description>
  607.        &lt;p&gt;
  608. My initial thought is that something like this could be used:
  609. &lt;/p&gt;
  610. &lt;pre class="wiki"&gt;if ( property_exists( $object, $field ) || isset( $object-&amp;gt;$field ) )
  611. &lt;/pre&gt;&lt;p&gt;
  612. That should work in the following scenario's:
  613. &lt;/p&gt;
  614. &lt;ul&gt;&lt;li&gt;Property exists (may be null)
  615. &lt;/li&gt;&lt;li&gt;Property is magic, &lt;code&gt;__get()&lt;/code&gt; may return null, &lt;code&gt;__isset()&lt;/code&gt; properly handles null values (ie. does isset(), or checks a property exists in the child object, or has a static list of magic keys)
  616. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
  617. It would not work when:
  618. &lt;/p&gt;
  619. &lt;ul&gt;&lt;li&gt;Property is magic, &lt;code&gt;__get()&lt;/code&gt; returns null, &lt;code&gt;__isset()&lt;/code&gt; fails to handle &lt;code&gt;null&lt;/code&gt; values, ie. only does an isset() check that doesn't return truthful for null fields.
  620. &lt;/li&gt;&lt;/ul&gt;
  621.      </description>
  622.      <category>Ticket</category>
  623.    </item><item>
  624.      
  625.        <dc:creator>swissspidy</dc:creator>
  626.  
  627.      <pubDate>Mon, 26 Feb 2024 10:19:20 GMT</pubDate>
  628.      <title>keywords changed</title>
  629.      <link>https://core.trac.wordpress.org/ticket/59774#comment:19</link>
  630.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:19</guid>
  631.      <description>
  632.          &lt;ul&gt;
  633.            &lt;li&gt;&lt;strong&gt;keywords&lt;/strong&gt;
  634.              &lt;em&gt;needs-patch&lt;/em&gt; added; &lt;em&gt;has-patch&lt;/em&gt; &lt;em&gt;commit&lt;/em&gt; removed
  635.            &lt;/li&gt;
  636.          &lt;/ul&gt;
  637.      </description>
  638.      <category>Ticket</category>
  639.    </item><item>
  640.      
  641.        <dc:creator>prbot</dc:creator>
  642.  
  643.      <pubDate>Mon, 26 Feb 2024 17:23:03 GMT</pubDate>
  644.      <title>keywords changed</title>
  645.      <link>https://core.trac.wordpress.org/ticket/59774#comment:20</link>
  646.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:20</guid>
  647.      <description>
  648.          &lt;ul&gt;
  649.            &lt;li&gt;&lt;strong&gt;keywords&lt;/strong&gt;
  650.              &lt;em&gt;has-patch&lt;/em&gt; added; &lt;em&gt;needs-patch&lt;/em&gt; removed
  651.            &lt;/li&gt;
  652.          &lt;/ul&gt;
  653.        &lt;p&gt;
  654. &lt;em&gt;This ticket was mentioned in &lt;a class="ext-link" href="https://github.com/WordPress/wordpress-develop/pull/6180"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;PR #6180&lt;/a&gt; on &lt;a class="ext-link" href="https://github.com/WordPress/wordpress-develop/"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;WordPress/wordpress-develop&lt;/a&gt; by &lt;a class="ext-link" href="https://profiles.wordpress.org/hellofromtonya/"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;@hellofromTonya&lt;/a&gt;.&lt;/em&gt;
  655. DO NOT REVIEW OR COMMIT THIS PR.
  656. &lt;/p&gt;
  657. &lt;p&gt;
  658. Purpose: to better understand and demonstrate how &lt;code&gt;wp_list_pluck()&lt;/code&gt; used to and now should handle different object scenarios, such as:
  659. &lt;/p&gt;
  660. &lt;ul&gt;&lt;li&gt;Class with both a &lt;code&gt;__get()&lt;/code&gt; and &lt;code&gt;__isset()&lt;/code&gt;.
  661. &lt;/li&gt;&lt;li&gt;Class with a &lt;code&gt;__get()&lt;/code&gt; but no &lt;code&gt;__isset()&lt;/code&gt;.
  662. &lt;/li&gt;&lt;li&gt;A &lt;code&gt;__isset()&lt;/code&gt; that does not handle &lt;code&gt;null&lt;/code&gt;.
  663. &lt;/li&gt;&lt;li&gt;Dynamic properties.
  664. &lt;/li&gt;&lt;li&gt;"compat_fields" (compatible but no intended for public) properties.
  665. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
  666. The original code before &lt;a class="changeset" href="https://core.trac.wordpress.org/changeset/57698" title="General: Handle missing field in WP_List_Util::pluck().
  667. Handles when ..."&gt;r57698&lt;/a&gt; is run via a global &lt;code&gt;$GLOBALS['before_r57698']&lt;/code&gt;.
  668. &lt;/p&gt;
  669. &lt;p&gt;
  670. Trac ticket: &lt;a href="https://core.trac.wordpress.org/ticket/59774"&gt;https://core.trac.wordpress.org/ticket/59774&lt;/a&gt;
  671. &lt;/p&gt;
  672.      </description>
  673.      <category>Ticket</category>
  674.    </item><item>
  675.      
  676.        <dc:creator>hellofromTonya</dc:creator>
  677.  
  678.      <pubDate>Mon, 26 Feb 2024 17:27:01 GMT</pubDate>
  679.      <title>keywords changed</title>
  680.      <link>https://core.trac.wordpress.org/ticket/59774#comment:21</link>
  681.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:21</guid>
  682.      <description>
  683.          &lt;ul&gt;
  684.            &lt;li&gt;&lt;strong&gt;keywords&lt;/strong&gt;
  685.              &lt;em&gt;needs-patch&lt;/em&gt; added; &lt;em&gt;has-testing-info&lt;/em&gt; &lt;em&gt;has-unit-tests&lt;/em&gt; &lt;em&gt;has-patch&lt;/em&gt; removed
  686.            &lt;/li&gt;
  687.          &lt;/ul&gt;
  688.        &lt;p&gt;
  689. Replying to &lt;a class="ticket" href="https://core.trac.wordpress.org/ticket/59774#comment:16" title="Comment 16"&gt;dd32&lt;/a&gt;:
  690. &lt;/p&gt;
  691. &lt;blockquote class="citation"&gt;
  692. &lt;p&gt;
  693. This has caused a regression for arrays of objects which have magic methods for getting properties.
  694. &lt;/p&gt;
  695. &lt;p&gt;
  696. For example:
  697. &lt;/p&gt;
  698. &lt;pre class="wiki"&gt;wp_list_pluck( [ get_user_by('ID', 1) ], 'user_email' );
  699. &lt;/pre&gt;&lt;p&gt;
  700. returns an empty &lt;code&gt;array()&lt;/code&gt; while &lt;code&gt;get_user_by('ID', 1)-&amp;gt;user_email&lt;/code&gt; returns a string.
  701. &lt;/p&gt;
  702. &lt;/blockquote&gt;
  703. &lt;p&gt;
  704. You're right @dd32. Using your examples:
  705. &lt;/p&gt;
  706. &lt;pre class="wiki"&gt;var_dump( wp_list_pluck( [ get_user_by('ID', 1) ], 'user_email' ) );
  707. var_dump( get_user_by('ID', 1)-&amp;gt;user_email );
  708. &lt;/pre&gt;&lt;p&gt;
  709. Results before &lt;a class="changeset" href="https://core.trac.wordpress.org/changeset/57698" title="General: Handle missing field in WP_List_Util::pluck().
  710. Handles when ..."&gt;r57698&lt;/a&gt;:
  711. &lt;/p&gt;
  712. &lt;pre class="wiki"&gt;array(1) { [0]=&amp;gt; string(13) "test@test.com" }
  713. string(13) "test@test.com"
  714. &lt;/pre&gt;&lt;p&gt;
  715. Results after &lt;a class="changeset" href="https://core.trac.wordpress.org/changeset/57698" title="General: Handle missing field in WP_List_Util::pluck().
  716. Handles when ..."&gt;r57698&lt;/a&gt;:
  717. &lt;/p&gt;
  718. &lt;pre class="wiki"&gt;array(0) { }
  719. string(13) "test@test.com"
  720. &lt;/pre&gt;&lt;p&gt;
  721. There may be other object handle scenarios that need consideration. I created &lt;a class="ext-link" href="https://github.com/WordPress/wordpress-develop/pull/6180"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;this patch&lt;/a&gt; to help identify those scenarios and better understand how each used to work (before &lt;a class="changeset" href="https://core.trac.wordpress.org/changeset/57698" title="General: Handle missing field in WP_List_Util::pluck().
  722. Handles when ..."&gt;r57698&lt;/a&gt;) and how they should work.
  723. &lt;/p&gt;
  724. &lt;p&gt;
  725. The goal:
  726. &lt;/p&gt;
  727. &lt;ul&gt;&lt;li&gt;Identify all of the missing object handling scenarios.
  728. &lt;/li&gt;&lt;li&gt;Add tests for each.
  729. &lt;/li&gt;&lt;li&gt;Figure out a solution for all.
  730. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
  731. If the above can happen before RC1, then a follow-up commit will be made. Else, I'd suggest reverting &lt;a class="changeset" href="https://core.trac.wordpress.org/changeset/57698" title="General: Handle missing field in WP_List_Util::pluck().
  732. Handles when ..."&gt;r57698&lt;/a&gt; and moving the ticket to 6.6.
  733. &lt;/p&gt;
  734.      </description>
  735.      <category>Ticket</category>
  736.    </item><item>
  737.      
  738.        <dc:creator>jamescollins</dc:creator>
  739.  
  740.      <pubDate>Tue, 27 Feb 2024 07:15:13 GMT</pubDate>
  741.      <title></title>
  742.      <link>https://core.trac.wordpress.org/ticket/59774#comment:22</link>
  743.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:22</guid>
  744.      <description>
  745.        &lt;p&gt;
  746. This change is negatively affecting WooCommerce core, specifically the Order meta data retrieval, and likely other data types.
  747. &lt;/p&gt;
  748. &lt;p&gt;
  749. &lt;a class="ext-link" href="https://github.com/woocommerce/woocommerce/blob/707c555091503d30b49537b7074b3072b4a86a1c/plugins/woocommerce/includes/abstracts/abstract-wc-data.php#L367"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://github.com/woocommerce/woocommerce/blob/707c555091503d30b49537b7074b3072b4a86a1c/plugins/woocommerce/includes/abstracts/abstract-wc-data.php#L367&lt;/a&gt;
  750. &lt;/p&gt;
  751. &lt;p&gt;
  752. These are arrays of objects.
  753. &lt;/p&gt;
  754. &lt;p&gt;
  755. Changing
  756. &lt;/p&gt;
  757. &lt;div class="wiki-code"&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span class="x"&gt;if ( property_exists( $value, $field ) ) {
  758. &lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;
  759. to
  760. &lt;/p&gt;
  761. &lt;div class="wiki-code"&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span class="x"&gt;if ( property_exists( $value, $field ) || isset( $value-&amp;gt;$field )  ) {
  762. &lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;
  763. As suggested by @dd32 in #&lt;a class="ticket" href="https://core.trac.wordpress.org/ticket/59774#comment:18" title="Comment 18"&gt;comment:18&lt;/a&gt;,  resolves the issue that we have observed.
  764. &lt;/p&gt;
  765. &lt;p&gt;
  766. Thanks to @om4csaba for helping me discover this.
  767. &lt;/p&gt;
  768.      </description>
  769.      <category>Ticket</category>
  770.    </item><item>
  771.      
  772.        <dc:creator>prbot</dc:creator>
  773.  
  774.      <pubDate>Tue, 27 Feb 2024 20:37:08 GMT</pubDate>
  775.      <title>keywords changed</title>
  776.      <link>https://core.trac.wordpress.org/ticket/59774#comment:23</link>
  777.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:23</guid>
  778.      <description>
  779.          &lt;ul&gt;
  780.            &lt;li&gt;&lt;strong&gt;keywords&lt;/strong&gt;
  781.              &lt;em&gt;has-patch&lt;/em&gt; &lt;em&gt;has-unit-tests&lt;/em&gt; added; &lt;em&gt;needs-patch&lt;/em&gt; removed
  782.            &lt;/li&gt;
  783.          &lt;/ul&gt;
  784.        &lt;p&gt;
  785. &lt;em&gt;This ticket was mentioned in &lt;a class="ext-link" href="https://github.com/WordPress/wordpress-develop/pull/6195"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;PR #6195&lt;/a&gt; on &lt;a class="ext-link" href="https://github.com/WordPress/wordpress-develop/"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;WordPress/wordpress-develop&lt;/a&gt; by &lt;a class="ext-link" href="https://profiles.wordpress.org/hellofromtonya/"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;@hellofromTonya&lt;/a&gt;.&lt;/em&gt;
  786. r&lt;a href="https://core.trac.wordpress.org/changeset/57698"&gt;57698&lt;/a&gt; introduced a regression with objects with magic methods and/or dynamic properties.
  787. &lt;/p&gt;
  788. &lt;p&gt;
  789. This PR seeks to resolve the resolve.
  790. &lt;/p&gt;
  791. &lt;ul&gt;&lt;li&gt;[X] Add tests for different combinations of classes.
  792. &lt;/li&gt;&lt;li&gt;[X] Add the &lt;code&gt;|| isset()&lt;/code&gt; conditional fix which solves most of the issues.
  793. &lt;/li&gt;&lt;li&gt;[ ] Figure out how to solve scenarios where the &lt;code&gt;__get()&lt;/code&gt; magically sets a dynamic property but &lt;code&gt;__isset()&lt;/code&gt; does not detect it.
  794. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
  795. &lt;code&gt;WP_Block::$attributes&lt;/code&gt; is an example for the last bullet task.
  796. &lt;/p&gt;
  797. &lt;p&gt;
  798. Trac ticket: &lt;a href="https://core.trac.wordpress.org/ticket/59774"&gt;https://core.trac.wordpress.org/ticket/59774&lt;/a&gt;
  799. &lt;/p&gt;
  800.      </description>
  801.      <category>Ticket</category>
  802.    </item><item>
  803.      
  804.        <dc:creator>prbot</dc:creator>
  805.  
  806.      <pubDate>Tue, 27 Feb 2024 20:45:32 GMT</pubDate>
  807.      <title></title>
  808.      <link>https://core.trac.wordpress.org/ticket/59774#comment:24</link>
  809.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:24</guid>
  810.      <description>
  811.        &lt;p&gt;
  812. &lt;a class="ext-link" href="https://profiles.wordpress.org/hellofromtonya/"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;@hellofromTonya&lt;/a&gt; commented on &lt;a class="ext-link" href="https://github.com/WordPress/wordpress-develop/pull/6195#issuecomment-1967559491"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;PR #6195&lt;/a&gt;:
  813. &lt;/p&gt;
  814. &lt;p&gt;
  815. The &lt;code&gt;|| isset( $value-&amp;gt;$field )&lt;/code&gt; conditional does not solve plucking the &lt;code&gt;attributes&lt;/code&gt; dynamic property from &lt;code&gt;WP_Block&lt;/code&gt;.
  816. &lt;/p&gt;
  817. &lt;p&gt;
  818. Consider the test code:
  819. &lt;/p&gt;
  820. &lt;pre class="wiki"&gt;$block        = new WP_Block( $args );
  821. $input_list[] = $block;
  822. $this-&amp;gt;assertTrue( isset( $block-&amp;gt;attributes ), 'isset() should return true as the WP_Block::$attributes dynamic property is magically set in __get()' );
  823. &lt;/pre&gt;&lt;p&gt;
  824. The &lt;code&gt;attributes&lt;/code&gt; dynamic property is magically set in the &lt;code&gt;__get()&lt;/code&gt; method. If you &lt;code&gt;var_dump()&lt;/code&gt; it, it will return the expected value. But &lt;code&gt;isset()&lt;/code&gt; returns &lt;code&gt;false&lt;/code&gt;. This makes sense - see it in action &lt;a class="ext-link" href="https://3v4l.org/SHAYh"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://3v4l.org/SHAYh&lt;/a&gt;.
  825. &lt;/p&gt;
  826.      </description>
  827.      <category>Ticket</category>
  828.    </item><item>
  829.      
  830.        <dc:creator>hellofromTonya</dc:creator>
  831.  
  832.      <pubDate>Tue, 27 Feb 2024 20:46:15 GMT</pubDate>
  833.      <title></title>
  834.      <link>https://core.trac.wordpress.org/ticket/59774#comment:25</link>
  835.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:25</guid>
  836.      <description>
  837.        &lt;p&gt;
  838. Thank you @jamescollins for reporting the regression and confirming the fix resolves it.
  839. &lt;/p&gt;
  840.      </description>
  841.      <category>Ticket</category>
  842.    </item><item>
  843.      
  844.        <dc:creator>hellofromTonya</dc:creator>
  845.  
  846.      <pubDate>Tue, 27 Feb 2024 20:55:04 GMT</pubDate>
  847.      <title>keywords changed</title>
  848.      <link>https://core.trac.wordpress.org/ticket/59774#comment:26</link>
  849.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:26</guid>
  850.      <description>
  851.          &lt;ul&gt;
  852.            &lt;li&gt;&lt;strong&gt;keywords&lt;/strong&gt;
  853.              &lt;em&gt;changes-requested&lt;/em&gt; added
  854.            &lt;/li&gt;
  855.          &lt;/ul&gt;
  856.        &lt;p&gt;
  857. PR 6195 includes the fix and various Core classes to test the different scenarios of method magics and dynamic properties.
  858. &lt;/p&gt;
  859. &lt;p&gt;
  860. There are instances in Core where the &lt;code&gt;|| isset( $value-&amp;gt;$field )&lt;/code&gt; approach does not work. For example, &lt;a class="ext-link" href="https://github.com/WordPress/wordpress-develop/pull/6195#issuecomment-1967559491"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;see the issue&lt;/a&gt; with &lt;code&gt;isset()&lt;/code&gt; and &lt;code&gt;WP_Block&lt;/code&gt;'s &lt;code&gt;attributes&lt;/code&gt; dynamic property. &lt;code&gt;isset()&lt;/code&gt; fails.
  861. &lt;/p&gt;
  862. &lt;p&gt;
  863. I think the solution needs more time. While a solution might be possible before RC1 next week, I'm also thinking a longer soak time is needed to discover unknown scenarios and impacts.
  864. &lt;/p&gt;
  865. &lt;p&gt;
  866. My suggestion:
  867. &lt;/p&gt;
  868. &lt;ul&gt;&lt;li&gt;Revert &lt;a class="changeset" href="https://core.trac.wordpress.org/changeset/57698" title="General: Handle missing field in WP_List_Util::pluck().
  869. Handles when ..."&gt;r57698&lt;/a&gt;.
  870. &lt;/li&gt;&lt;li&gt;Move the ticket to 6.6 and mark for &lt;code&gt;early&lt;/code&gt;.
  871. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
  872. It can be recommitted as early as when 6.5 is branched and &lt;code&gt;trunk&lt;/code&gt; opens for 6.6 Alpha.
  873. &lt;/p&gt;
  874. &lt;p&gt;
  875. @swissspidy do you agree?
  876. &lt;/p&gt;
  877.      </description>
  878.      <category>Ticket</category>
  879.    </item><item>
  880.      
  881.        <dc:creator>swissspidy</dc:creator>
  882.  
  883.      <pubDate>Tue, 27 Feb 2024 20:59:50 GMT</pubDate>
  884.      <title></title>
  885.      <link>https://core.trac.wordpress.org/ticket/59774#comment:27</link>
  886.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:27</guid>
  887.      <description>
  888.        &lt;p&gt;
  889. I've been following this ticket a little bit. The suggested approach to retry this early in 6.6 makes sense to me, given the discovered edge cases.
  890. &lt;/p&gt;
  891.      </description>
  892.      <category>Ticket</category>
  893.    </item><item>
  894.      
  895.        <dc:creator>hellofromTonya</dc:creator>
  896.  
  897.      <pubDate>Tue, 27 Feb 2024 22:23:19 GMT</pubDate>
  898.      <title></title>
  899.      <link>https://core.trac.wordpress.org/ticket/59774#comment:28</link>
  900.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:28</guid>
  901.      <description>
  902.        &lt;p&gt;
  903. Awesome. Thanks for the confidence check @swissspidy :) I'll do the revert shortly and then adjust ticket.
  904. &lt;/p&gt;
  905.      </description>
  906.      <category>Ticket</category>
  907.    </item><item>
  908.      
  909.        <dc:creator>hellofromTonya</dc:creator>
  910.  
  911.      <pubDate>Tue, 27 Feb 2024 22:36:10 GMT</pubDate>
  912.      <title></title>
  913.      <link>https://core.trac.wordpress.org/ticket/59774#comment:29</link>
  914.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:29</guid>
  915.      <description>
  916.        &lt;p&gt;
  917. In &lt;a class="changeset" href="https://core.trac.wordpress.org/changeset/57732" title="General: Revert r57698 for WP_List_Util::pluck().
  918. r57698 caused a ..."&gt;57732&lt;/a&gt;:
  919. &lt;/p&gt;
  920. &lt;div class="message"&gt;&lt;p&gt;
  921. General: Revert &lt;a class="changeset" href="https://core.trac.wordpress.org/changeset/57698" title="General: Handle missing field in WP_List_Util::pluck().
  922. Handles when ..."&gt;r57698&lt;/a&gt; for WP_List_Util::pluck().&lt;br /&gt;
  923. &lt;/p&gt;
  924. &lt;p&gt;
  925. &lt;a class="changeset" href="https://core.trac.wordpress.org/changeset/57698" title="General: Handle missing field in WP_List_Util::pluck().
  926. Handles when ..."&gt;r57698&lt;/a&gt; caused a regression for arrays of objects which have magic methods and dynamic properties. A fix is identified.&lt;br /&gt;
  927. &lt;/p&gt;
  928. &lt;p&gt;
  929. However, a deeper dive discovered additional scenarios which will require a different fix.&lt;br /&gt;
  930. &lt;/p&gt;
  931. &lt;p&gt;
  932. Reverting gives more time for resolving these scenarios and more soak time to discover if there are others.&lt;br /&gt;
  933. &lt;/p&gt;
  934. &lt;p&gt;
  935. Props dd32, jamescollins, swissspidy.&lt;br /&gt;
  936. See &lt;a class="reopened ticket" href="https://core.trac.wordpress.org/ticket/59774" title="#59774: defect (bug): Undefined array key when using wp_list_pluck function (reopened)"&gt;#59774&lt;/a&gt;.&lt;br /&gt;
  937. &lt;/p&gt;
  938. &lt;/div&gt;
  939.      </description>
  940.      <category>Ticket</category>
  941.    </item><item>
  942.      
  943.        <dc:creator>hellofromTonya</dc:creator>
  944.  
  945.      <pubDate>Tue, 27 Feb 2024 22:41:28 GMT</pubDate>
  946.      <title>keywords, milestone changed</title>
  947.      <link>https://core.trac.wordpress.org/ticket/59774#comment:30</link>
  948.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:30</guid>
  949.      <description>
  950.          &lt;ul&gt;
  951.            &lt;li&gt;&lt;strong&gt;keywords&lt;/strong&gt;
  952.              &lt;em&gt;early&lt;/em&gt; added
  953.            &lt;/li&gt;
  954.            &lt;li&gt;&lt;strong&gt;milestone&lt;/strong&gt;
  955.                changed from &lt;em&gt;6.5&lt;/em&gt; to &lt;em&gt;6.6&lt;/em&gt;
  956.            &lt;/li&gt;
  957.          &lt;/ul&gt;
  958.        &lt;p&gt;
  959. Thank you everyone for working through the regression. &lt;a class="changeset" href="https://core.trac.wordpress.org/changeset/57732" title="General: Revert r57698 for WP_List_Util::pluck().
  960. r57698 caused a ..."&gt;r57732&lt;/a&gt; reverts the changes that caused the regression(s) and will not ship in 6.5.
  961. &lt;/p&gt;
  962. &lt;p&gt;
  963. I'm marking this ticket for 6.6 &lt;code&gt;early&lt;/code&gt; alpha with the intent to
  964. &lt;/p&gt;
  965. &lt;ul&gt;&lt;li&gt;(a) commit a full solution to the known scenarios and
  966. &lt;/li&gt;&lt;li&gt;(b) give a long soak time for feedback should there be more scenarios to consider.
  967. &lt;/li&gt;&lt;/ul&gt;
  968.      </description>
  969.      <category>Ticket</category>
  970.    </item><item>
  971.      
  972.        <dc:creator>prbot</dc:creator>
  973.  
  974.      <pubDate>Wed, 28 Feb 2024 01:30:17 GMT</pubDate>
  975.      <title></title>
  976.      <link>https://core.trac.wordpress.org/ticket/59774#comment:31</link>
  977.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:31</guid>
  978.      <description>
  979.        &lt;p&gt;
  980. &lt;a class="ext-link" href="https://profiles.wordpress.org/dd32/"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;@dd32&lt;/a&gt; commented on &lt;a class="ext-link" href="https://github.com/WordPress/wordpress-develop/pull/6195#issuecomment-1968022578"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;PR #6195&lt;/a&gt;:
  981. &lt;/p&gt;
  982. &lt;blockquote class="citation"&gt;
  983. &lt;p&gt;
  984. The &lt;code&gt;|| isset( $value-&amp;gt;$field )&lt;/code&gt; conditional does not solve plucking the &lt;code&gt;attributes&lt;/code&gt; dynamic property from &lt;code&gt;WP_Block&lt;/code&gt;.
  985. &lt;/p&gt;
  986. &lt;/blockquote&gt;
  987. &lt;p&gt;
  988. One could suggest this is a fault of the class not implemening &lt;code&gt;__isset()&lt;/code&gt;.
  989. &lt;/p&gt;
  990. &lt;p&gt;
  991. One could however suggest that &lt;code&gt;wp_list_pluck()&lt;/code&gt; and friends is not intended on being run on a set where the property is not set, and that no checking is needed in the first place.
  992. &lt;/p&gt;
  993.      </description>
  994.      <category>Ticket</category>
  995.    </item><item>
  996.      
  997.        <dc:creator>slackbot</dc:creator>
  998.  
  999.      <pubDate>Tue, 21 May 2024 14:14:33 GMT</pubDate>
  1000.      <title></title>
  1001.      <link>https://core.trac.wordpress.org/ticket/59774#comment:32</link>
  1002.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:32</guid>
  1003.      <description>
  1004.        &lt;p&gt;
  1005. &lt;em&gt;This ticket was mentioned in &lt;a class="ext-link" href="https://make.wordpress.org/chat/"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;Slack&lt;/a&gt; in #core by nhrrob. &lt;a class="ext-link" href="https://wordpress.slack.com/archives/core/p1716300870492179"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;View the logs&lt;/a&gt;.&lt;/em&gt;
  1006. &lt;/p&gt;
  1007.      </description>
  1008.      <category>Ticket</category>
  1009.    </item><item>
  1010.      
  1011.        <dc:creator>oglekler</dc:creator>
  1012.  
  1013.      <pubDate>Mon, 10 Jun 2024 18:07:53 GMT</pubDate>
  1014.      <title>milestone changed</title>
  1015.      <link>https://core.trac.wordpress.org/ticket/59774#comment:33</link>
  1016.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:33</guid>
  1017.      <description>
  1018.          &lt;ul&gt;
  1019.            &lt;li&gt;&lt;strong&gt;milestone&lt;/strong&gt;
  1020.                changed from &lt;em&gt;6.6&lt;/em&gt; to &lt;em&gt;6.7&lt;/em&gt;
  1021.            &lt;/li&gt;
  1022.          &lt;/ul&gt;
  1023.        &lt;p&gt;
  1024. This is an early ticket and at is too late for it in this cycle, so, I am moving it to the next milestone.
  1025. &lt;/p&gt;
  1026.      </description>
  1027.      <category>Ticket</category>
  1028.    </item><item>
  1029.      
  1030.        <dc:creator>Cybr</dc:creator>
  1031.  
  1032.      <pubDate>Sat, 22 Jun 2024 23:43:50 GMT</pubDate>
  1033.      <title></title>
  1034.      <link>https://core.trac.wordpress.org/ticket/59774#comment:34</link>
  1035.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:34</guid>
  1036.      <description>
  1037.        &lt;p&gt;
  1038. Should we not deprecate &lt;code&gt;wp_list_pluck()&lt;/code&gt; altogether and encourage using the much faster &lt;code&gt;array_column()&lt;/code&gt;?
  1039. &lt;/p&gt;
  1040. &lt;p&gt;
  1041. That function supports extracting from objects since PHP 7.0, and WP requires 7.4 or greater.
  1042. &lt;/p&gt;
  1043.      </description>
  1044.      <category>Ticket</category>
  1045.    </item><item>
  1046.      
  1047.        <dc:creator>slackbot</dc:creator>
  1048.  
  1049.      <pubDate>Wed, 25 Sep 2024 02:09:48 GMT</pubDate>
  1050.      <title></title>
  1051.      <link>https://core.trac.wordpress.org/ticket/59774#comment:35</link>
  1052.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:35</guid>
  1053.      <description>
  1054.        &lt;p&gt;
  1055. &lt;em&gt;This ticket was mentioned in &lt;a class="ext-link" href="https://make.wordpress.org/chat/"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;Slack&lt;/a&gt; in #core by joemcgill. &lt;a class="ext-link" href="https://wordpress.slack.com/archives/core/p1727230185759859"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;View the logs&lt;/a&gt;.&lt;/em&gt;
  1056. &lt;/p&gt;
  1057.      </description>
  1058.      <category>Ticket</category>
  1059.    </item><item>
  1060.      
  1061.        <dc:creator>peterwilsoncc</dc:creator>
  1062.  
  1063.      <pubDate>Wed, 25 Sep 2024 03:22:45 GMT</pubDate>
  1064.      <title>milestone changed</title>
  1065.      <link>https://core.trac.wordpress.org/ticket/59774#comment:36</link>
  1066.      <guid isPermaLink="false">https://core.trac.wordpress.org/ticket/59774#comment:36</guid>
  1067.      <description>
  1068.          &lt;ul&gt;
  1069.            &lt;li&gt;&lt;strong&gt;milestone&lt;/strong&gt;
  1070.                changed from &lt;em&gt;6.7&lt;/em&gt; to &lt;em&gt;6.8&lt;/em&gt;
  1071.            &lt;/li&gt;
  1072.          &lt;/ul&gt;
  1073.        &lt;p&gt;
  1074. This ticket was reviewed during a scrub of tickets marked for early attention. As there hasn't been any progress since the previous commit was reverted, it was decided to move this off the 6.7 milestone.
  1075. &lt;/p&gt;
  1076.      </description>
  1077.      <category>Ticket</category>
  1078.    </item>
  1079. </channel>
  1080. </rss>
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda