天涯论坛

 找回密码
 立即注册
搜索
查看: 17|回复: 2

PHP开源软件框架WordPress | 校园信息平台的搜索功能实现(附视频)

[复制链接]

3107

主题

176

回帖

9909万

积分

论坛元老

Rank: 8Rank: 8

积分
99098703
发表于 2024-10-4 16:36:52 | 显示全部楼层 |阅读模式

校园信息平台,是一款基于学校信息数据的内容管理系统,能够对学校信息数据进行归类管理,并为用户供给信息查找,信息发布等服务。

本例采用PHP开源软件WordPress进行二次研发来实现项目需要。WordPress本身便是一个博客管理系统,非常适合做为内容管理平台运用

本例中的信息搜索的运行效果,如图所示。

■ 图8.4 信息搜索

01

搜索功能

在wordpress中,搜索功能是经过调用get_search_form()函数来实现的。打开主题的header模板,在其导航菜单的左侧添加搜索表单代码,如下所示。

<div class="search-form-wrap">

<?phpget_search_form();?></div>

倘若主题中定义搜索表单模板searchform.php文件,则get_search_form()函数会表示wordpress默认的搜索框,其样式常常不可满足项目的整体需求因此实质研发过程常常需要自定义搜索表单模板文件。

本项目搜索表单模板文件如以上8.3.5小节所示,其页面效果如图8.19所示;搜索结果运用默认的index.php模板,而不单独定义search.php文件,其页面效果如图8.4所示。

■ 图8.19 主导航菜单折叠表示

02

内容表示

页面中内容的表示运用单独的子模板来实现,其文件为content.php。代码如下:

<article id="post-<?php the_ID(); ?>" <?php post_class( post-content

); ?>>

<header class="entry-header" itemprop="mainEntityOfPage"><?php the_title(sprintf(<h2 class="entry-title p-name" itemprop="name headline"><a href="%s" rel="bookmark" class="u-url url" itemprop="url">, esc_url(get_permalink())), </a></h2>);?></header>if(in_array(get_post_format(), array(aside,standard

,))) {?>

<div class="entry-summary p-summary" itemprop="description"><?php the_excerpt(); ?></div><?php }else

{?>

<div class="entry-content e-content" itemprop="description articleBody"><?phpthe_content(sprintf(__(Continue Reading %s, wm), the_title(<span class="screen-reader-text">, </span>, false

)));

wp_link_pages(

array

(

before      => <div class="page-links"><span class="page-links-title">.__(Pages:, wm) . </span>

,

after=></div>

,

link_before => <span>

,

link_after  => </span>

,

pagelink    => <span class="screen-reader-text">. __(Page:, wm) . </span>%

,

separator   => <span class="screen-reader-text">, </span>

,

)

);

?><div class="clear"></div></div><div class="entry-meta"><?php wm_entry_meta(); ?></div></article>

其页面效果如图8.19所示。信息内容下面的发布日期、作者等辅助信息,由自定义函数 wm_entry_meta() 生成。

wm_entry_meta()函数存放在主题的functions.php文件中,其代码如下:

function wm_entry_meta()

{

echo <ul>

;

// 判断信息是不是置顶

if (is_sticky() && is_home() && ! is_paged() ) {

echo <li class="sticky-post"><i class="fa fa-bookmark"></i>.esc_html__(Topping, wm).</li>

;

}

// 发布时间

echo <li class="posted-on"><i class="fa fa-calendar"></i><span class="screen-reader-text">.esc_html__(Posted on:, wordstar).</span><a href=".esc_url(get_permalink())." rel="bookmark"><time class="entry-date published dt-published" itemprop="datePublished" datetime=".esc_attr(get_the_date(c)).">.get_the_date().</time><time class="entry-date updated dt-updated screen-reader-text" itemprop="dateModified" datetime=".esc_attr(get_the_modified_date(c)).">. esc_html(get_the_modified_date()).</time></a></li>

;

// 发布者

if(!is_single()){

echo <li class="byline author p-author vcard hcard h-card" itemprop="author " itemscope itemtype="http://schema.org/Person"><i class="fa fa-user"></i><span class="screen-reader-text">. esc_html__(Author:, wordstar).</span><span class="screen-reader-text">.get_avatar( get_the_author_meta( ID ), 40 ).</span><a class="url u-url" href=".esc_url(get_author_posts_url(get_the_author_meta(ID)))." rel="author" itemprop="url" ><span  class=" fn p-name" itemprop="name">.esc_html(get_the_author()).</span></a></li>

;

}

// 信息类型

if (($categories_list = get_the_category_list(, )) && wm_categorized_blog() ) {

echo <li class="cat-links"><i class="fa fa-folder-open"></i><span class="screen-reader-text">. esc_html__(Categories:, wm).</span>

.ent2ncr($categories_list).

</li>

;

}

// 信息标签

if ($tags_list = get_the_tag_list(, , )) {

echo <li class="tag-links"><i class="fa fa-tags"></i><span class="screen-reader-text">. esc_html__(Tags:, wm).</span>

.ent2ncr($tags_list).

</li>

;

}

// 留言

if (! is_single() && ! post_password_required() && ( comments_open() || get_comments_number() ) ) {

echo <li class="comment"><i class="fa fa-comments"></i>

;

comments_popup_link(__(Leave a comment, wm).<span class="screen-reader-text">:&nbsp;.get_the_title().</span>

);

echo </li>

;

}

// 编辑链接

edit_post_link(__(编辑Edit, wm), <li class="edit-link"><i class="fa fa-pencil"></i>, </li>

);

echo <div class="clear"></div></ul>

;

}

以上代码中运用非常多WordPress函数,因为篇幅的限制这儿再也不仔细解释它们的用法。另一,代码中还运用了自定义函数wm_categorized_blog(),该函数用于表示内容的归类类型,其代码请参见教材源码。

03

视频讲解

关闭
观看更加多
更加多
退出全屏

视频加载失败,请刷新页面再试

04

参考书籍

PHP项目案例研发从入门到实战-微课视频版》

ISBN:9787302570974

作者:马石安、魏文平

定价:79.80元

05

精彩举荐

PHP项目案例研发 | WordPress开源软件安装及应用网络安全技术 | 勒索软件的特征和防范网络安全技术 | 身份认证的革命——生物特征身份认证通关操作系统 | 进程的概念(附视频限免)人工智能实践: 基于T-S 模型的模糊推理(附源码)Python自然语言处理|语料清洗(附视频)Python编程|实现基于字典的通讯录CCF CSP-J/S第1轮认证考纲详解Python 韩信点兵思政案例(含优惠码)设备学习案例︱人脸识别和人脸检测(附视频)Python ︱爬取天气预报信息(附视频)设备学习》实验指点书(附实验参考+代码)Python爬虫综合实战 │ 创建云起书院爬虫(附代码)Python爬虫实战 │ Email提醒(附代码)Python深度学习 │一文把握卷积神经网络





上一篇:恶意软件分析:基于PHP的skimmer暗示Magecart活动仍在继续
下一篇:都2019年了,PHP还是世界上最好的语言吗?
回复

使用道具 举报

3138

主题

3万

回帖

9996万

积分

论坛元老

Rank: 8Rank: 8

积分
99968624
发表于 2024-10-7 03:08:21 | 显示全部楼层
你的见解真是独到,让我受益匪浅。
回复

使用道具 举报

3047

主题

3万

回帖

9606万

积分

论坛元老

Rank: 8Rank: 8

积分
96065852
发表于 2024-11-5 17:23:15 | 显示全部楼层
“NB”(牛×的缩写,表示叹为观止)‌
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|天涯论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-11-23 09:43 , Processed in 0.157859 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.