首页
留言板
关于本站
Search
1
实现网站页面秒开-预加载JS脚本instant.page
56,547 阅读
2
解决Windows连接PPTP/L2TP时无法连接上外网Internet的困扰
55,615 阅读
3
Typecho通过阿里邮件推送和LoveKKComment插件实现评论邮件通知
39,412 阅读
4
如何做到网页性能的极致优化?
29,682 阅读
5
回村无网络之-《无线网桥使用记》
29,588 阅读
路由交换
华为笔记
华三笔记
Mikrotik笔记
中兴笔记
Linux
Nginx
数据库
typecho
WordPress
资源分享
网站技术
Windows
other
未分类
登录
Search
标签搜索
路由交换
运维
linux
ROS
mikrotik
华为
软路由
WordPress
ospf
路由
网站
centos
php
ARP
交换
nssa
typecho
广播风暴
Nginx
dns
Ledo
累计撰写
61
篇文章
累计收到
1,024
条评论
首页
栏目
路由交换
华为笔记
华三笔记
Mikrotik笔记
中兴笔记
Linux
Nginx
数据库
typecho
WordPress
资源分享
网站技术
Windows
other
未分类
页面
留言板
关于本站
搜索到
10
篇与
的结果
2019-04-28
解决新浪图床外链出现异常的办法
本站上的图片大多外链接自新浪微图床,大概是新浪图床做了防盗链吧,最近几天天突然发现文章中的图片无法显示。[collapse status="true" title="新浪相册外链异常提示"]403 ForbiddenYou don't have permission to access the URL on this server.Powered by Tengine[/collapse]但是复制图片链接直接在浏览器中打开,又可以看到图片,不知道这个是什么防护机制~其他站长也有反映:https://www.v2ex.com/amp/t/558006如果新浪真的限制外链,很多网站会遭殃。解决办法在内增加一个标签面添加:<meta name="referrer" content="no-referrer">如果你使用的是WordPress或者typecho之类的程序,在主题头部模板header.php在在内上面代码即可。不过貌似并不是所有浏览器都支持这个标签,比如IE,多亏微软自己都把IE抛弃了,国内那些所谓双核浏览器,在极速或者高速模式下也正常显示,至于这个“referrer”标签的作用是什么,请自行百度学习。另外,新浪微相册外链突然不能正常显示,什么原因造成的未知,上面的方法也只能说是临时的解决方案。2019年5月5日最后补充:博主已经把新浪图片都本地化,上述方法会失去很多原有的功能,例如无法评论等等。本文链接: https://www.ledo.cc/668.html本站文章采用 知识共享署名4.0 国际许可协议 进行许可,请在转载时注明出处及本声明!
2019年04月28日
27,238 阅读
26 评论
0 点赞
2019-03-28
实现网站页面秒开-预加载JS脚本instant.page
本篇文章介绍了一个网站预加载的脚本instant.page√> 作用是可以预加载用户想访问的页面,当用户真正点击链接后,就会直接从缓存中读取,以此提升网站的访问速度。前言无意间看到这样一个脚本,传闻可以瞬间提高网站页面加载速度。我一直对网站加载速度的优化很感兴趣,于是便立即拿来试试,效果果然如说的那样,打开页面嗖嗖的 ::paopao:tieba_emotion_53::instant.page 原理的话我们不必深层了解,只需知道:在用户点击网站链接之前,他们将鼠标悬停在该链接上。当用户徘徊65毫秒时,他们将点击该链接有两个机会,因此 instant.page 此时开始预加载,平均超过 300 毫秒,以便页面预加载。instant.page 是渐进式增强 - 对不支持它的浏览器没有影响。效果instant.page 对站内访问速度的提升的确很给力。然而它只会预加载自己的站内链接,而不会预加载其他外链。如图所示,当鼠标在左侧文章链接悬停超过 65ms 后,左侧 网络 即会对站内页面进行预加载(绿色部分)另外而悬停未超过 65ms 时,则不会进行预加载(红色部分)使用 instant.page 只会预加载 html 页面,而不会加载图片等资源,因此点击预加载的页面是秒开的,图片在点击之后才会加载,不用担心与 lazyload 的各种不兼容问题。使用方法1.使用官方脚本只要把这行代码添加到网站的</body>标签之前即可。(由于脚本托管在国外,只建议国外的朋友使用,国内的朋友加载官方的资源会比较慢哦)<script src="//instant.page/1.2.2" type="module" integrity="sha384-2xV8M5griQmzyiY3CDqh1dn4z3llDVqZDqzjzcY+jCBCk/a5fXJmuZ/40JJAPeoU"></script>2.自托管文件只需将下面这段 js文件 上传到自己服务器,然后在</body>标签之前根据路径添加下面的代码即可(强烈建议服务器在国内的朋友使用)下载地址:[button color="success" icon="glyphicon glyphicon-arrow-down" url="https://pan.baidu.com/s/1OHc7dhpHI1wvuyzpcX3Avw "]nstantclick-1.2.2.js[/button] 提取码:58cb<script src="`存放路径`/instantclick-1.2.2.js" type="module"></script>本文参考自:instant.page官网、爱喝茶的康康、左岸
2019年03月28日
56,547 阅读
57 评论
0 点赞
2019-03-04
如何做到网页性能的极致优化?
√> 经常看到某些大神的博客网站加载速度极快,甚是羡慕,本喵一直在菜鸟的道路上步步前行,梦想我的博客也能优化到极致。下面讲解了网页优化的一些要点,文章内容主要转自汪微的博客,特拿到本站来以时刻提醒本鸟不断进步。对于网页的性能优化可分为三个部分:1、针对于前端代码层面的性能优化2、针对于浏览器和http方面的性能优化3、针对于web服务器和后端的性能优化一:前端代码层面的优化比较大提升性能的几个点:1、网页资源或图片使用cdn加速和压缩2、css放头部js放底部,js可以根据情况加上async或defer3、图片做懒加载4、做首屏渲染,首屏以下代码做异步加载5、做按需加载,在资源需要时再加载(比如路由资源,弹出层等)6、做骨架屏渲染,提升界面体验效果7、某些资源或数据使用浏览器缓存,sessionStorage和localStorage,或者浏览器数据库8、使用Service Worker缓存任何可控的资源,甚至可以做离线应用代码层面的优化:1、压缩js,jss,img等资源2、CSS Sprite技术等3、尽量减少html,css层级深度4、api资源请求尽量使用异步6、合并css,js,图片7、减少http请求,css嵌入网页,小图片使用base648、抽离公共代码,减少资源体积9、代码层面的优化有很多,不一一列举,只要做到极致,一定会有效果。10、......二:浏览器和http方面的优化1、针对于资源(css,js,img)尽量做强缓存,web服务器设置Cache-Control的max-age,设置合适的值(值越大缓存时间越长)2、针对于有可能会变的资源可以使用协商缓存,设置ETag或Last-Modified,也可以两者同时设置服务器会优先验证ETag的值,因为Last-Modified的值只精确到了秒级,并没有精确到毫秒级别,并不能100%的保证两次资源是否一致,而ETag不会有此问题。3、合并资源,减少http请求数量,在http1.1中,只能同时处理一定量的http请求,请求过多的资源会先处于等待状态4、使用浏览器的缓存功能,例如sesson和local,有些资源和数据第二次以后可以完全不必要去后端获取5、使用新的api,Service Worker开辟新的线程去做耗时的工作或之后需要的资源。甚至可以做离线应用三:web服务器和后端的优化web服务器和后端是前端开发者们基本接触不到的点1、对于html,css,js等资源我们可以开启资源压缩,常用的为gzip,开启gzip会对服务器cpu有一定的消耗,对于流量不大的网站没什么影响2、对于常规的网站我们可以开启Connection: keep-alive,这样http通道就会高效的被利用,请求也会加快3、对于高并发的网站尽量不要设置Connection参数(即keepalive_timeout的值),或者值设置的越短越好,服务器处理请求的数量是一定的,如果每次请求占用通道的时间越长,同时处理的请求就会越少。4、搭建自己的cdn服务器,让资源返回速度更快5、最大化的利用服务器性能:开启多线程,设置最大并发链接数、最大链接数、最大文件访问数、tcp等待状态等还可以从提升硬件方面考虑性能问题1、提升服务器性能,根据项目情况选择相应服务器,计算密集,I/O密集 ,进程密集等。2、提升网络带宽,增加内存、硬盘、cpu等3、对于高访问量的资源或者api做负载均衡配置4、拆分服务器,例如后台服务器,资源文件服务器,数据库服务器,nginx入口服务器等,特定的资源去特定的服务器获取5、对于高并发的网站需要做集群处理,后台服务器集群,数据库集群,redis集群等6、使用redis缓存数据资源,redis相对于关系数据库能很大的提升获取资源速度针对于后端代码的优化就交给后端人员。本文主要内容转载自E语云博客,原创汪微仅供用于学习和交流,若有侵权请邮件联系本站!i@t1i.cn
2019年03月04日
29,682 阅读
33 评论
0 点赞
2018-12-17
WordPress限制ip登陆次数
为了防止这个无限尝试我后台登录密码,我采用了一个限制IP登录次数功能,它的原理很简单是采用当前ip限制登录,有效的防止登录错误密码次数,如果超过尝试3次密码错误时候,它会记录下你这登录ip地址,第4次登录时它会限制你继续访问后台登录,而且会显示空白地址让你无法在继续尝试,老规矩只需要添加一串代码就搞定,不用安装任何插件实现此功能!/*-----------------------------------------------------------------------------------*/ /* wordpress限制ip登陆次数 /*-----------------------------------------------------------------------------------*/ # 阻止登录的函数,直接 404 function block_login() {header("HTTP/1.1 404 Not Found");header("Status: 404 Not Found");exit;} # 登录前判断登陆的失败次数 add_action("login_head",function () { $login_ip = $_SERVER['REMOTE_ADDR']; $login_ip_list = unserialize(get_option("LOGIN_IP_LIST")); # 登录失败超过2次就进行阻止登陆 if($login_ip_list && ($login_ip_list[$login_ip] > 2)) {block_login();}}); # 登录失败的处理 add_action('login_errors', function ($info) { $login_ip = $_SERVER['REMOTE_ADDR']; $login_ip_list = get_option("LOGIN_IP_LIST"); if($login_ip_list) {$login_ip_list = unserialize($login_ip_list);} else {$login_ip_list = array();} # 登录次数 + 1 $login_ip_list[$login_ip] += 1; update_option('LOGIN_IP_LIST', serialize($login_ip_list)); # 提示登录失败的次数 return "$login_ip 登陆次数 " . $login_ip_list[$login_ip];}); # 证明已经登录成功了 add_action("admin_menu", function () { $login_ip = $_SERVER['REMOTE_ADDR']; $login_ip_list = unserialize(get_option("LOGIN_IP_LIST")); $login_ip_list[$login_ip] = 0; update_option('LOGIN_IP_LIST', serialize($login_ip_list));});
2018年12月17日
11,442 阅读
9 评论
0 点赞
2018-11-19
Begin知更鸟主题新版本修改评论Admin显示
Begin主题更新版本后因代码位置已修改,旧教程已无用,这里给出begin最终LTS版本的修改方法。首先登录后台-外观-编辑-主题文件(个人感觉后台修改方便,FTP和空间修改太太慢)找到inc点击找到inc.php打开键盘ctrl+f搜索author-admin找到旁边的admin修改成自己想要显示的(我这版本是699行)
2018年11月19日
8,765 阅读
5 评论
0 点赞
2018-11-17
给begin主题友情链接页面添加评论
今天下午一直在折腾begin主题的友情链接页面怎么把评论调用出来。和小伙伴说是在显示选项中打开讨论就可以了~居然不行。。。于是,就来看看这个页面了,发现这个页面并没有调用评论的代码。。也就打开讨论也没用了。然后就来添加代码了解决问题了,在单独页面中找到评论的代码,放到友情链接页面就可以了。代码如下。[mark_b] <?php while ( have_posts() ) : the_post(); ?> <?php if ( comments_open() || get_comments_number() ) : ?> <?php comments_template( '', true ); ?> <?php endif; ?> <?php endwhile; ?> [/mark_b]将以上代码添加到友情链接页面 </main> 前面就可以了。同理,也可以再其他页面添加评论。不要问我这个代码正不正确,其实我也是网上找的,只是知道放进去有用。虽然不懂这个PHP代码,但是大概是知道这是调用评论的。
2018年11月17日
6,256 阅读
2 评论
0 点赞
2018-11-15
wordpress关闭插件或主题更新提示
wordpress程序为提高安全性,往往程序、主题或插件都会进行定时更新,为安全起见,学建站网建议大家尽量做到定时更新,然而也会出现一些特殊的情况:如你使用的是一些已经汉化的主题或插件,为客户搭建网站后,往往不需要客户更新,那么这个时候我们就需要在后台关闭主题或插件的更新提示,不然一个个的小红点会让客户感觉不舒服:去除更新提示,我们可以通过如下代码完成操作:找到主题的函数文件functions.php,在?>结束位置放置如下代码;add_filter('pre_site_transient_update_core', create_function('$a', "return null;")); // 关闭核心提示 add_filter('pre_site_transient_update_plugins', create_function('$a', "return null;")); // 关闭插件提示 add_filter('pre_site_transient_update_themes', create_function('$a', "return null;")); // 关闭主题提示 remove_action('admin_init', '_maybe_update_core'); // 禁止 WordPress 检查更新 remove_action('admin_init', '_maybe_update_plugins'); // 禁止 WordPress 更新插件 remove_action('admin_init', '_maybe_update_themes'); // 禁止 WordPress 更新主题3.7以后开启了小版本的自动更新。很多时候更新不会询问你一觉起来就给你更新了,当然这也需要你的主机支持才可以完成。关闭自动更新在WordPress 根目录下的 wp-config.php 加入以下代码即可:define( 'AUTOMATIC_UPDATER_DISABLED', true );
2018年11月15日
6,125 阅读
0 评论
0 点赞
2018-10-26
多种环境下的WordPress伪静态配置
IIS7.5完美伪静态规则IIS 环境是 Windows 主机常用的服务器环境,但网上很多规则其实并不完美,很多地方依旧有些无法设置的地方,但这个却可以,新建两个 txt 文件,将下面的代码分别添加到文件中:第一个 web.config<configuration> <system.webServer> <rewrite> <rules> <rule name="ChineseURL" stopProcessing="true"> <match url="^(tag|category)/(.*)$" /> <action type="Rewrite" url="ihuanurl.php"/> </rule> <rule name="wordpress" patternSyntax="Wildcard"> <match url="*" /> <conditions> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> </conditions> <action type="Rewrite" url="index.php" /> </rule> </rules> </rewrite> </system.webServer> </configuration>第二个辅助文件 ihuanurl.php:<?php // IIS Mod-Rewrite if (isset($_SERVER['HTTP_X_ORIGINAL_URL'])) { $_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_ORIGINAL_URL']; } // IIS Isapi_Rewrite else if (isset($_SERVER['HTTP_X_REWRITE_URL'])) { $_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_REWRITE_URL']; } else { // Use ORIG_PATH_INFO if there is no PATH_INFO if ( !isset($_SERVER['PATH_INFO']) && isset($_SERVER['ORIG_PATH_INFO']) ) $_SERVER['PATH_INFO'] = $_SERVER['ORIG_PATH_INFO']; // Some IIS + PHP configurations puts the script-name in the path-info (No need to append it twice) if ( isset($_SERVER['PATH_INFO']) ) { if ( $_SERVER['PATH_INFO'] == $_SERVER['SCRIPT_NAME'] ) $_SERVER['REQUEST_URI'] = $_SERVER['PATH_INFO']; else $_SERVER['REQUEST_URI'] = $_SERVER['SCRIPT_NAME'] . $_SERVER['PATH_INFO']; } // Append the query string if it exists and isn't null if (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) { $_SERVER['REQUEST_URI'] .= '?' . $_SERVER['QUERY_STRING']; } } require("index.php"); ?>然后保存文件,上传到WordPress站点的根目录即可。IIS6伪静态规则IIS 环境是 Windows 主机常用的服务器环境,新建一个 txt 文件,将下面的代码添加到文件中:[ISAPI_Rewrite] # Defend your computer from some worm attacks #RewriteRule .*(?:global.asa|default\.ida|root\.exe|\.\.).* . [F,I,O] # 3600 = 1 hour CacheClockRate 3600 RepeatLimit 32 # Protect httpd.ini and httpd.parse.errors files # from accessing through HTTP # Rules to ensure that normal content gets through RewriteRule /tag/(.*) /index\.php\?tag=$1 RewriteRule /software-files/(.*) /software-files/$1 [L] RewriteRule /images/(.*) /images/$1 [L] RewriteRule /sitemap.xml /sitemap.xml [L] RewriteRule /favicon.ico /favicon.ico [L] # For file-based wordpress content (i.e. theme), admin, etc. RewriteRule /wp-(.*) /wp-$1 [L] # For normal wordpress content, via index.php RewriteRule ^/$ /index.php [L] RewriteRule /(.*) /index.php/$1 [L]然后另存为 httpd.ini 文件,上传到WordPress站点的根目录即可。Apache伪静态规则Apache是 Linux 主机下常见的环境,现在一般的 Linux 虚拟主机都采用这种环境。新建一个 htaccess.txt 文件,添加下面的代码:<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>然后上传到 WordPress 站点的根目录,重命名为 .htaccess 即可(在win下是不可能这样命名的)Nginx伪静态规则Nginx环境一般是Linux 主机 VPS或服务器用户用的比较多,这些用户一般都会自己配置Nginx,或者有专门的人帮你配置,打开 nginx.conf 或者某个站点的配置环境,比如 wpdaxue.com.conf(不同人配置的不一样),在 server { } 大括号里面添加下面的代码:location / { if (-f $request_filename/index.html){ rewrite (.*) $1/index.html break; } if (-f $request_filename/index.php){ rewrite (.*) $1/index.php; } if (!-f $request_filename){ rewrite (.*) /index.php; } }保存,重启 Nginx 即可。
2018年10月26日
5,506 阅读
1 评论
0 点赞
2018-10-07
wordpress获取各类页面链接的函数总结
在WordPress项目开发过程,很可能需要获取WordPress 各类页面的链接,包括首页、文章页、Page页面、存档页面等等,今天倡萌就简单分享下获取 WordPress 各类页面的链接的方法。获取文章或页面链接直接输出文章或页面的链接: <?php the_permalink(); ?> 返回文章或页面的链接,以供调用: get_permalink(); 可以使用 echo 输出,结果和直接使用 the_permalink() 一样: <?php echo get_permalink(); ?> 获取存档页面链接 function get_current_archive_link( $paged = true ) { $link = false; if ( is_front_page() ) { $link = home_url( '/' ); } else if ( is_home() && "page" == get_option('show_on_front') ) { $link = get_permalink( get_option( 'page_for_posts' ) ); } else if ( is_tax() || is_tag() || is_category() ) { $term = get_queried_object(); $link = get_term_link( $term, $term->taxonomy ); } else if ( is_post_type_archive() ) { $link = get_post_type_archive_link( get_post_type() ); } else if ( is_author() ) { $link = get_author_posts_url( get_query_var('author'), get_query_var('author_name') ); } else if ( is_archive() ) { if ( is_date() ) { if ( is_day() ) { $link = get_day_link( get_query_var('year'), get_query_var('monthnum'), get_query_var('day') ); } else if ( is_month() ) { $link = get_month_link( get_query_var('year'), get_query_var('monthnum') ); } else if ( is_year() ) { $link = get_year_link( get_query_var('year') ); } } } if ( $paged && $link && get_query_var('paged') > 1 ) { global $wp_rewrite; if ( !$wp_rewrite->using_permalinks() ) { $link = add_query_arg( 'paged', get_query_var('paged'), $link ); } else { $link = user_trailingslashit( trailingslashit( $link ) . trailingslashit( $wp_rewrite->pagination_base ) . get_query_var('paged'), 'archive' ); } } return $link; } 该函数可以输出首页、分类法(自定义分类法、标签、分类)、自定义文章类型的存档页面、作者存档页面、日期存档页面 的链接,包含分页。获取当前页面链接如果你不想判断页面类型,只想输出当前页面的链接,可以使用下面的代码: <?php global $wp; $current_url = home_url(add_query_arg(array(),$wp->request)); echo $current_url; ?> 好了,暂且说到这里。如果大家有什么补充,欢迎留言分享,谢谢。参考资料:http://wordpress.stackexchange.com/questions/29512/permalink-for-category-pages-and-postshttp://stephenharris.info/how-to-get-the-current-url-in-wordpress/
2018年10月07日
5,431 阅读
1 评论
0 点赞
2018-10-07
wordpress各种获取url函数
站点路径相关函数home_url()返回站点路径,相当于后台设置->常规中的”站点地址(URL)”。$url = home_url();echo $url;//输出: http://www.itgol.cn $url = home_url('/images/');echo $url;//输出:http://www.itgol.cn/images/site_url()如果WordPress安装在域名根目录下,则该函数与home_url()相同。如果WordPress安装在子目录下,例如http://www.itgol.cn/,则site_url()返回WordPress实际安装地址,相当于后台->设置->常规中的“WordPress 地址(URL)”。$url = site_url();echo $url;//假设WordPress安装在http://www.itgol.cn下//输出:http://www.itgol.cnadmin_url()返回后台地址,传递参数后也可返回后台menu的地址$url = admin_url();echo $url;//输出:http://www.itgol.cn/wp-admin/content_url()返回实际的wp-content目录,如果是默认安装,且装在根目录下,则如下所示$url = content_url();echo $url;//输出:http://www.itgol.cn/wp-content如果在wp-config.php中改变了wp-content目录的位置,则该函数会返回正确地址,例如wp-config.php中如下定义define('WP_CONTENT_DIR','/home/user/public_html/cdn');define('WP_CONTENT_URL','http://sola-cdn.me');则content_url()的返回值为http://sola-cdn.meincludes_url()返回当前WordPress站点存放核心文件的目录wp-includes的地址,可以带一个$path作为参数。$url = includes_url( '/js/');echo $url;//输出:http://www.itgol.cn/wp-includes/js/wp_upload_dir()返回WordPress上传目录的地址,是一个数组,包含一系列与上传地址相关的信息。<?php $upload_dir = wp_upload_dir(); ?>提供如下信息给你 ‘path’ – 上传目录的服务器绝对路径,通常以反斜杠(/)开头 ‘url’ – 上传目录的完整URL ‘subdir’ – 子目录名称,通常是以年/月形式组织的目录地址,例如/2012/07 ‘basedir’ – 上传目录的服务器绝对路径,不包含子目录 ‘baseurl’ – 上传目录的完整URL,不包含子目录 ‘error’ – 报错信息. 例如$upload_dir = wp_upload_dir();echo $upload_dir['baseurl'];//输出:http://www.itgol.cn/wp-content/uploads 主题路径相关函数get_theme_root_uri()获取存放主题的目录URIecho get_theme_root_uri();//输出:http://www.itgol.cn/wp-content/themesget_theme_root()获取存放主题的目录的服务器绝对路径echo get_theme_root();//输出:<tt>/home/user/public_html/wp-content/themes</tt>get_theme_roots()获取主题目录的目录名称,如果你的主题目录是/wp-content/themes,则echo get_theme_roots();//输出:/themesget_stylesheet_directory()获取当前启用的主题目录的服务器绝对路径,例如/home/user/public_html/wp-content/themes/twentyeleven可以用来include文件,例如<?phpinclude( get_stylesheet_directory() . ‘/includes/myfile.php’); ?>get_stylesheet_directory_uri()获取当前启用的主题目录的URI,例如echo get_stylesheet_directory_uri();//输出:http://www.itgol.cn/wp-content/themes/twentyeleven可以使用在需要主题目录URI的场合,例如图片<img src="<?php echo get_stylesheet_directory_uri() ?>/images/aternus.png" alt="wordpress各种获取url函数总结" alt="" title="" width="" height="" />get_template_directory_uri()如果当前启用的主题是一个child theme,该函数返回parent theme的主题目录URI,用法与get_stylesheet_directory_uri()类似。get_template_directory()如果当前启用的主题是一个child theme,该函数返回parent theme的主题目录的服务器绝对路径,用法与get_stylesheet_directory()类似。get_template()获取当前启用主题的主题目录名称,例如现在启用的主题为twentyeleven,则echo get_stylesheet();//输出:twentyelevenget_stylesheet()获取当前启用主题的主题目录名称,与get_template()的区别是,如果用了child theme,则返回child theme的目录名称。 插件路径相关函数plugins_url()获取当前插件的目录的URI,例如一个插件位于/wp-content/plugins/myplugin下,该目录下放有插件的主文件名为myplugin.php,在myplugin.php中执行下面的代码,结果如下echo plugins_url();//输出:http://www.itgol.cn/wp-content/plugins echo plugins_url('',__FILE__);//输出:http://www.itgol.cn/wp-content/plugins/myplugin echo plugins_url('js/myscript.js',__FILE__);//输出:http://www.itgol.cn/wp-content/plugins/myplugin/js/myscript.jsplugin_dir_url()返回当前插件的目录URI,例如echo plugin_dir_url(__FILE__ );//输出:http://www.itgol.cn/wp-content/plugins/myplugin/注意结尾有反斜杠。plugin_dir_path()返回当前插件目录的服务器绝对路径,例如echo plugin_dir_path(__FILE__ );//输出:/home/user/public_html/wp-content/plugins/myplugin/可以用来引用文件,例如<?phpdefine('MYPLUGINNAME_PATH', plugin_dir_path(__FILE__) );require MYPLUGINNAME_PATH . 'includes/class-metabox.php';require MYPLUGINNAME_PATH . 'includes/class-widget.php';?>plugin_basename()返回调用该函数的插件文件名称(包含插件路径)例如在插件myplugin下的myplugin.php文件中调用该函数,结果如下echo plugin_basename(__FILE__);//输出:myplugin/myplugin.php如果在myplugin/include/test.php文件中调用(test.php通过include引用到myplugin.php中),结果如下echo plugin_basename(__FILE__);//输出:myplugin/include/test.php 路径相关常量WordPress中还有一组用define定义的常量代表路径。WP_CONTENT_DIRwp-content目录的服务器绝对路径,例如/home/user/public_html/wp-contentWP_CONTENT_URLwp-content目录的URI地址,例如http://www.itgol.cn/wp-contentWP_PLUGIN_DIR插件目录的服务器绝对路径,例如/home/user/public_html/wp-content/pluginsWP_PLUGIN_URL插件目录的URI地址,例如http://www.itgol.cn/wp-content/pluginsTEMPLATEPATH当前启用主题目录的服务器绝对路径,相当于get_template_directory()例如/home/user/public_html/wp-content/themes/twentyelevenSTYLESHEETPATH当前启用主题目录的服务器绝对路径,相当于get_stylesheet_directory(),与TEMPLATEPATH的区别在于如果使用child theme,该常量指向child theme目录。
2018年10月07日
5,047 阅读
0 评论
0 点赞