gpt4 book ai didi

php - WordPress - 列出具有特定 meta_key 值的自定义类型

转载 作者:行者123 更新时间:2023-11-29 23:28:02 24 4
gpt4 key购买 nike

所以我有以下内容

SELECT wp_posts.ID, wp_posts.post_author,wp_posts.post_date,wp_posts.post_content,wp_posts.post_title,wp_posts.post_excerpt,wp_postmeta.meta_value
FROM wp_posts
INNER JOIN wp_postmeta
ON wp_posts.id=wp_postmeta.post_id
WHERE wp_postmeta.meta_key='cm_video' and post_status='publish'
ORDER BY wp_posts.id DESC;

这带回了我(几乎)需要的东西。 meta_value 的格式为

a:2:{s:4:"code";s:27:"http://youtu.be/xpiL05fCE1E";s:4:"type";s:7:"youtube";}

恢复http://youtu.be/xpiL05fCE1E的最简单方法是什么?这里还可以出现各种其他值,例如嵌入和 iframe 代码。

我应该使用 WordPress 内部的东西吗?

我想出了这个似乎可以解决问题的方法。想法?

SELECT 
wp_posts.ID, wp_posts.post_author,wp_posts.post_date,wp_posts.post_content,wp_posts.post_title,wp_posts.post_excerpt,SUBSTRING_INDEX(SUBSTRING_INDEX(wp_postmeta.meta_value, '";', 2), ':"', -1)
FROM wp_posts
INNER JOIN wp_postmeta
ON wp_posts.id=wp_postmeta.post_id
WHERE wp_postmeta.meta_key='cm_video' and post_status='publish'

谢谢

最佳答案

使用unserialize()方法

$a='a:2:{s:4:"code";s:27:"http://youtu.be/xpiL05fCE1E";s:4:"type";s:7:"youtube";}';
$a = unserialize($a);
print_r($a);

//output
Array ( [code] => http://youtu.be/xpiL05fCE1E [type] => youtube )

echo $a['code'];

这里有两种类型的变量

a = array and 2 is the dimension of the array
s = string and 4 is the length of the string

关于php - WordPress - 列出具有特定 meta_key 值的自定义类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26798252/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com