获取404错误页面上错误链接的帖子标题

时间:2013-07-02 作者:user1627363

我的用户可以链接到页面上不存在的内容。这是我选择的,因为它是我的概念的最佳选择。不管怎样,我想做的是。。。比方说,我点击了一个链接,应该链接到“Hello World”这篇文章,但正如所说的,这篇文章并不存在。。。

What I want to do is show this post_title (Hello World) on the 404 Error page and make suggestions as context related posts. 相关帖子部分不是问题,但如何在404页面上获得点击的链接/帖子标题?

2 个回复
最合适的回答,由SO网友:Andrea Sciamanna 整理而成

正如@krzysiek所写,这是不可能的。

简单地说,你无法获得不存在的东西的标题。

但是,您可以尝试从url猜测标题。下面是我编写的一段代码的摘录,该代码适用于404和搜索页面(这就是为什么我还要检查

$search_term = substr($_SERVER[\'REQUEST_URI\'], 1);
$search_term = urldecode(stripslashes($search_term));
$search_term = rtrim($search_term, "/");

$find = array("\'.html\'", "\'.+/\'", "\'[-/_]\'");
$replace = " ";
$search_term = trim(preg_replace($find, $replace, $search_term));
$search_term = str_replace("%20", $replace, $search_term);
$search_term = preg_replace(\'!\\s+!\', \' \', $search_term);
这里您可以使用$search_term 作为猜测的标题。

您可以使用此字符串搜索类似的建议(如果您使用一些插件,如relevanssi 要改进搜索,请执行以下操作:

if (trim($search_term) == \'\') $search_term = get_search_query();

if (trim($search_term) == \'\') return false;

$s = str_replace("-", " ", $search_term);

$search_terms = explode(\' \', $s);

$query = new WP_Query(array(\'post_type\' => \'any\', \'s\' => $s));
$posts = $query->posts;
if (count($posts) == 0) {
    $query = new WP_Query(array(array(\'post_type\' => \'any\', \'name\' => $search_term)));
    $posts = $query->posts;
}
//... handle your results
您甚至可以进一步改进每个单词在文章类型名称、分类法等中出现的外观,并提供指向相应存档页面的链接(例如,使用中的所有项目$search_terms).

以这段代码为例,因为它是我用来处理404和搜索结果的更复杂函数的简短版本。

SO网友:Krzysiek Dróżdż

恐怕这不可能。

您无法检查该用户单击的链接标题是什么。您可以获得的唯一信息是它所指向的URL(href属性)(但它与该链接的标题不同)。

结束

相关推荐

[plugin leenk.me]修改Get_the_Title

我使用一个名为leink的插件。我可以根据我的帖子向Facebook发布消息。其中一个自定义字段是%TITLE%,它发布我的文章的标题和指向我的文章的链接。if ( false === $post_title ) $post_title = get_the_title( $post_id ); 按照我目前设置WP的方式,我的摘录是一个链接。我想修改get\\u the\\u title函数,这样它就可以获得标题和摘录的链接,而不是获取文章的标题和链接(ID)。function g