建站教程

建站教程

Products

当前位置:首页 > 建站教程 >

WordPress通过文章ID获取文章标题、内容等信息(WordPress实现只搜索文章标题的方法)

GG网络技术分享 2025-03-18 16:13 0


WordPress通过文章ID获取文章标题、内容等信息

我们在开发wordpress主题时一定会遇到在非single.php页面调用当前文章的标题、内容等信息,当我们知道了文章id的时候如何获取到内容的具体信息呢?
很人性化的wordpress为我们提供了一个函数get_post($id)。

实现方式

其他信息

可以通过改变get_post($id)->post_title中的post_title来实现:

post_author:(整数)文章作者的编号

post_data:(字符)文章发表的日期和时间(YYYY-MM-DD HH-MM-SS)

post_data_gmt:(字符)文章发表的格林尼治标准时间(GMT) (YYYY-MM-DD HH-MM-SS)

post_content:(字符)文章内容

post_title:(字符)文章标题

post_category:(整数)文章类别的编号。注意:该值在WordPress 2.1之后的版本总为0。定义文章的类别时可使用 get_the_category()函数。

post_excerpt:(字符)文章摘要

post_status:(字符)文章状态(publish|pending|draft|private|static|object|attachment|inherit|future)

comment_status:(字符)评论状态(open|closed|registered_only)

ping_status:(字符)pingback/trackback状态(open|closed)

post_password:(字符)文章密码

post_name:(字符)文章的URL嵌套

to_ping:(字符)要引用的URL链接

pinged:(字符)引用过的链接

post_modified:(字符)文章最后修改时间(YYYY-MM-DD HH-MM-SS)

post_modified_gmt:(字符)文章最后修改GMT时间(YYYY-MM-DD HH-MM-SS)

post_parent:(整数)父级文章编号(供附件等)

guid:(字符)文章的一个链接。注意:不能将GUID作为永久链接(虽然在2.5之前的版本中它的确被当作永久链接),也不能将它作为文章的可用链接。GUID是一种独有的标识符,只是目前恰巧成为文章的一个链接。

post_type:(字符)(日志 | 页面 | 附件)

post_mime_type:(字符)Mime类型(供附件等)

comment_count:(整数)评论总数

WordPress实现只搜索文章标题的方法

WordPress默认的搜索功能,使用户搜索结果包括文章内容、文章标题与文章标签 这样搜索出来的结果不会很精确,如果你想让它搜索出来的结果更精确、相关,可以限定只搜索文章的标题。

将下面的代码添加到主题的 functions.php 文件即可实现:

//让WordPress只搜索文章的标题function __search_by_title_only( $search, &$wp_query ){global $wpdb;if ( empty( $search ) )        return $search; // skip processing - no search term in query    $q = $wp_query->query_vars;        $n = ! empty( $q[\\\'exact\\\'] ) ? \\\'\\\' : \\\'{5cc1b29162d549a8071384de182cc9fc6e6a0fd85e7907f22fd9e18cff4269c3}\\\';    $search =    $searchand = \\\'\\\';    foreach ( (array) $q[\\\'search_terms\\\'] as $term ) {    $term = esc_sql( like_escape( $term ) );    $search .= \\\"{$searchand}($wpdb->posts.post_title LIKE \\\'{$n}{$term}{$n}\\\')\\\";    $searchand = \\\' AND \\\';    }    if ( ! empty( $search ) ) {    $search = \\\" AND ({$search}) \\\";    if ( ! is_user_logged_in() )    $search .= \\\" AND ($wpdb->posts.post_password = \\\'\\\') \\\";    }    return $search;}add_filter( \\\'posts_search\\\', \\\'__search_by_title_only\\\', 500, 2 );

标签:

提交需求或反馈

Demand feedback