php 如何在WordPress中通过标题获取页面URL?(get_page_by_title()函数已被弃用scince 6.2.0)

ebdffaop  于 2023-04-04  发布在  PHP
关注(0)|答案(2)|浏览(247)

我用

get_page_by_title()

有时候在我的代码里,比如

get_page_by_title($article['title'], OBJECT, 'post');

但是现在文档说i cant use it anymore .这是非常方便的测试一些功能,我不能使用id,因为在不同的数据库上创建内容的测试目的的目的.有没有什么方法,除了使用WP_Query类,因为它看起来像一个痛苦的使用它只是为了获得链接的标题的职位
我在找类似

get_url_by_title('title', 'post')

有什么想法吗?

mum43rcc

mum43rcc1#

正如@CBroe在评论中提到的,弃用的get_page_by_title()的最佳替代品是get_posts()documentation。好的,我知道文档说:“使用WP_Query代替。”,但看起来很痛苦。
所以回到解决方案。要按标题获取单个页面或帖子,请使用

$array_of_objects = get_posts([
    'title' => 'Post or page title',
    'post_type' => 'any',
]);
$id = $array_of_objects[0];//Be sure you have an array with single post or page 
$id = $id->ID;
$link = get_permalink($id);

有一些时刻。'post_type' => 'any'比特定的post类型工作得更好。不要忘记get_posts()返回一个对象数组,所以你需要引用一个数组,然后引用对象。
但如果您需要获取单个类别的链接,则可以使用

$id = get_cat_ID($title);
$link = get_category_link($id);
ffscu2ro

ffscu2ro2#

你可以试试下面的:

get_permalink( get_page_by_title( 'Monthly Events' );

更多详情请访问https://developer.wordpress.org/reference/functions/get_permalink/

相关问题