php手机端底部导航演示,DUX主题修改移动端增加底部导航功能

2024-03-05 12:30

本文主要是介绍php手机端底部导航演示,DUX主题修改移动端增加底部导航功能,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

重要:本文最后更新于2020-04-29 08:28:43,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗。

有人跟我说他很喜欢网站在移动端浏览的时候,能像APP一样有个底部导航,这样做移动端用户体验会好很多,让我发一篇给DUX加个移动端底部导航功能的教程。正好之前仿themebetter的官网,做过这个功能,把代码扒出来,送给大家了。

e173f7a67531a93c3a5bc5b9e28d352d.png

DUX主题移动端增加底部导航功能修改

操作步骤

注册菜单

此功能是通过wordpress自带的菜单功能实现的,方便大家在后台修改底部导航内容。

打开functions.php文件,注意:不同主题存放函数集合文件有所不同,DUX主题请打开function-theme.php,DMD主题也是一样。

搜索函数register_nav_menus,增加一个菜单,如下所示,新增的是移动底部导航,就是那一句。

// 注册菜单 https://www.daimadog.com/6247.html

if (function_exists('register_nav_menus')){

register_nav_menus( array(

'nav' => __('网站导航', 'haoui'),

'topmenu' => __('顶部菜单', 'haoui'),

'pagenav' => __('页面左侧导航', 'haoui'),

'mobilenav' => __('移动底部导航', 'haoui')

));

}

增加主题设置

DUX的主题设置是基于option framework框架的,在其配置文件options.php中,加入一个新的配置项信息。

//添加配置项 https://www.daimadog.com/6247.html

$options[] = array(

'name' => '开启移动端底部导航',

'id' => 'is_mobile_menu',

'type' => "checkbox",

'std' => false,

'desc' => '开启后需要到菜单中设置移动底部导航内容!');

新增CSS样式

此样式需要全站加载,所以加在哪里自行决定,这里演示使用DUX的css文件夹中的main.css。在其末尾加入如下样式。

/**底部导航样式 https://www.daimadog.com/6247.html**/

.m-menubar {

display: none;

z-index: 9990;

position: fixed;

bottom: 0;

left: 0;

right: 0;

height: 60px;

background-color: #fff

}

.m-menubar:before {

content: '1';

color: transparent;

position: absolute;

left: 0;

top: 0;

width: 100%;

height: 1px;

background-color: rgba(0, 0, 0, 0.1);

display: block;

overflow: hidden;

-webkit-transform-origin: 50% 0;

transform-origin: 50% 0;

-webkit-transform: scaleY(0.5);

transform: scaleY(0.5)

}

.m-menubar ul {

display: flex;

text-align: center

}

.m-menubar li {

flex: 1;

text-align: center;

font-size: 11px

}

.m-menubar li .iconfont {

margin-bottom: 3px;

display: block;

font-size: 22px;

font-weight: normal

}

.m-menubar li a {

display: block;

height: 60px;

padding-top: 12px;

color: #657fa2

}

.m-menubar li.active a {

color: #01CDB8

}

.m-menubar li.active a .iconfont {

color: #01CDB8

}

@media (max-width: 1024px) {

.moblemenu {

padding-bottom: 60px !important;

}

.m-menubar {

display: block

}

}

添加导航结构函数

此函数控制后台菜单设置的内容输出结构,不喜欢可以自行修改,不清楚可以查看WordPress自定义导航菜单处理类Walker

打开function-theme.php,添加如下内容:

//移动底部导航菜单类 https://www.daimadog.com/6247.html

class Mobile_Menu_Walker extends Walker_Nav_Menu

{

public function start_lvl(&$output, $depth = 0, $args = array())

{

$output .= "";

}

public function end_lvl(&$output, $depth = 0, $args = array())

{

$output .= "";

}

public function start_el(&$output, $item, $depth = 0, $args = array(), $id = 0)

{

$is_current_item = '';

if (in_array('current-menu-item', $item->classes)) {

$is_current_item = 'active';

}

if ($item->url == '/login') {

if (is_user_logged_in()) {

$url = '/member';

} else {

$url = '/login';

}

} else {

$url = $item->url;

}

$output .= '

' . $item->title . '';

}

public function end_el(&$output, $item, $depth = 0, $args = array(), $id = 0)

{

$output .= '

';

}

}

//移动菜单

function mobile_the_menu($location = 'mobilenav')

{

echo wp_nav_menu(array('theme_location' => $location,

'container' => '',

'container_class' => '',

'items_wrap' => '

  • %3$s
',

'echo' => false,

'walker' => new Mobile_Menu_Walker()));

}

为页面添加样式

打开functions-theme.php文件,修改代码。

搜索_bodyclass函数,在很多if结构代码中,添加一个if结构,代码如下:

//php控制样式 https://www.daimadog.com/6247.html

if(_hui('is_mobile_menu')){

$class .=' moblemenu';

}

添加代码输出

修改footer.php文件,在

这篇关于php手机端底部导航演示,DUX主题修改移动端增加底部导航功能的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/776514

相关文章

C++11第三弹:lambda表达式 | 新的类功能 | 模板的可变参数

🌈个人主页: 南桥几晴秋 🌈C++专栏: 南桥谈C++ 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据库学习专栏: 南桥谈MySQL 🌈Qt学习专栏: 南桥谈Qt 🌈菜鸡代码练习: 练习随想记录 🌈git学习: 南桥谈Git 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈�

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

Spring框架5 - 容器的扩展功能 (ApplicationContext)

private static ApplicationContext applicationContext;static {applicationContext = new ClassPathXmlApplicationContext("bean.xml");} BeanFactory的功能扩展类ApplicationContext进行深度的分析。ApplicationConext与 BeanF

EMLOG程序单页友链和标签增加美化

单页友联效果图: 标签页面效果图: 源码介绍 EMLOG单页友情链接和TAG标签,友链单页文件代码main{width: 58%;是设置宽度 自己把设置成与您的网站宽度一样,如果自适应就填写100%,TAG文件不用修改 安装方法:把Links.php和tag.php上传到网站根目录即可,访问 域名/Links.php、域名/tag.php 所有模板适用,代码就不粘贴出来,已经打

JavaFX应用更新检测功能(在线自动更新方案)

JavaFX开发的桌面应用属于C端,一般来说需要版本检测和自动更新功能,这里记录一下一种版本检测和自动更新的方法。 1. 整体方案 JavaFX.应用版本检测、自动更新主要涉及一下步骤: 读取本地应用版本拉取远程版本并比较两个版本如果需要升级,那么拉取更新历史弹出升级控制窗口用户选择升级时,拉取升级包解压,重启应用用户选择忽略时,本地版本标志为忽略版本用户选择取消时,隐藏升级控制窗口 2.

我在移动打工的日志

客户:给我搞一下录音 我:不会。不在服务范围。 客户:是不想吧 我:笑嘻嘻(气笑) 客户:小姑娘明明会,却欺负老人 我:笑嘻嘻 客户:那我交话费 我:手机号 客户:给我搞录音 我:不会。不懂。没搞过。 客户:那我交话费 我:手机号。这是电信的啊!!我这是中国移动!! 客户:我不管,我要充话费,充话费是你们的 我:可是这是移动!!中国移动!! 客户:我这是手机号 我:那又如何,这是移动!你是电信!!

两个月冲刺软考——访问位与修改位的题型(淘汰哪一页);内聚的类型;关于码制的知识点;地址映射的相关内容

1.访问位与修改位的题型(淘汰哪一页) 访问位:为1时表示在内存期间被访问过,为0时表示未被访问;修改位:为1时表示该页面自从被装入内存后被修改过,为0时表示未修改过。 置换页面时,最先置换访问位和修改位为00的,其次是01(没被访问但被修改过)的,之后是10(被访问了但没被修改过),最后是11。 2.内聚的类型 功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。 顺序内聚:

Android 10.0 mtk平板camera2横屏预览旋转90度横屏拍照图片旋转90度功能实现

1.前言 在10.0的系统rom定制化开发中,在进行一些平板等默认横屏的设备开发的过程中,需要在进入camera2的 时候,默认预览图像也是需要横屏显示的,在上一篇已经实现了横屏预览功能,然后发现横屏预览后,拍照保存的图片 依然是竖屏的,所以说同样需要将图片也保存为横屏图标了,所以就需要看下mtk的camera2的相关横屏保存图片功能, 如何实现实现横屏保存图片功能 如图所示: 2.mtk

Spring+MyBatis+jeasyui 功能树列表

java代码@EnablePaging@RequestMapping(value = "/queryFunctionList.html")@ResponseBodypublic Map<String, Object> queryFunctionList() {String parentId = "";List<FunctionDisplay> tables = query(parent

如何在运行时修改serialVersionUID

优质博文:IT-BLOG-CN 问题 我正在使用第三方库连接到外部系统,一切运行正常,但突然出现序列化错误 java.io.InvalidClassException: com.essbase.api.base.EssException; local class incompatible: stream classdesc serialVersionUID = 90314637791991