wordpress去掉分类category标志代码实现版本

《wordpress去掉分类category标志代码实现版本》要点:
本文介绍了wordpress去掉分类category标志代码实现版本,希望对您有用。如果有疑问,可以联系我们。

导读:其实网上很多去掉分类标志的方法,比如固定链接前加一个小点.,亦或者是修改wordpress原程序文件的方法,感觉最好用的就是使用插件:no-cat...
其实网上很多去掉分类标志的方法,比如固定链接前加一个小点“.”,感觉最好用的就是使用插件:no-category-base,使用改插件,不仅能将category标志去掉,而且拜访之前带category的分类目录还有做301跳转,这非常利于SEO.不管怎么说,如果你能看到这篇文章,那么就是只想实现这个功能,并且不想用插件,引用奶嘴大大的一句话,我相信大家看完就能明白:

  其实在wordpress里,不管你有没有启用插件和主题,只要你把它们上传wordpress里了,wordpress就会在后他把那些插件和主题的信息读取出来再显示.那么这样的话wordpress每读取一个插件的信息就要历遍一次文件(PS:因为wordpress插件没有固定的信息存放文件,只要插件作者高兴,插件目录下的任意一个php文件都是可以的.所以wordpress只能通过历遍文件来读取信息.),而主题信息呢?都在style.css里,也就是说每个主题存在于服务器上的主题wordpress都会把他们的style.css读取一遍,那么数量多的话wordpress的速度也就慢下来了,所以小V建议主题和插件能不用的都不用并且删除掉.插件能集成到主题的尽量集成到主题,因为这样就可以减少wordpress历遍文件的次数了.DEDECMS案例

  如果你认真看完了上面一篇文章,你就能明白,为何会有这篇文章了,哈哈.废话不多说,我们的目的便是移植插件no-category-base到主题的functions.php中.DEDECMS案例

  如何移植插件?DEDECMS案例

  恩,这是个问题,如果你也是只是想得到结果的伸手党,好吧,跳转到文章最后面复制代码粘贴到你的functions.php中就可以了,接下来说说插件移植到functions.php中的注意事项,注意,因为本人也是wp折腾菜鸟,所有有错的地方,望大神指出来:DEDECMS案例

  其实最主要的便是这个register_activation_hook,这个是插件注册的时候激活,所以直接丢到functions.php里肯定会出错,丢到主题中,我们就将此处修改为主题激活的时候启用,那么相应的就为load-themes.php,好了重点完了.接下来直接看代码,我相信大家就会明白了.DEDECMS案例

wordpress去掉分类category标志代码实现版本

DEDECMS案例

去除分类标准category代码版DEDECMS案例

  注释的地方就是插件禁用的时候移出伪静态规则,这里我们不必要他,因为主题未启用就相当于没有启用这个伪静态规则,语文不好,表述不清.你懂得.将下面的代码复制到你主题的functions.php中即可去掉分类标志:
 DEDECMS案例

 
代码如下:
/* 
*去除分类标记代码,来自wordpress主题
*/
add_action( 'load-themes.php',  'no_category_base_refresh_rules');  
add_action('created_category','no_category_base_refresh_rules');  
add_action('edited_category','no_category_base_refresh_rules');  
add_action('delete_category','no_category_base_refresh_rules');  
function no_category_base_refresh_rules() {      
    global $wp_rewrite;  
    $wp_rewrite -> flush_rules();  
}  
 
// register_deactivation_hook(__FILE__,'no_category_base_deactivate');  
// function no_category_base_deactivate() {  
//  remove_filter('category_rewrite_rules','no_category_base_rewrite_rules');  
//  // We don't want to insert our custom rules again  
//  no_category_base_refresh_rules();  
// }  
 
// Remove category base  
add_action('init','no_category_base_permastruct');  
function no_category_base_permastruct() {  
    global $wp_rewrite,$wp_version;  
    if (version_compare($wp_version,'3.4','<')) {  
        // For pre-3.4 support  
        $wp_rewrite -> extra_permastructs['category'][0] = '%category%';  
    } else {  
        $wp_rewrite -> extra_permastructs['category']['struct'] = '%category%';  
    }  
}  
 
// Add our custom category rewrite rules  
add_filter('category_rewrite_rules','no_category_base_rewrite_rules');  
function no_category_base_rewrite_rules($category_rewrite) {  
    //var_dump($category_rewrite); // For Debugging  
 
    $category_rewrite = array();  
    $categories = get_categories(array('hide_empty' => false));  
    foreach ($categories as $category) {  
        $category_nicename = $category -> slug;  
        if ($category -> parent == $category -> cat_ID)// recursive recursion  
            $category -> parent = 0;  
        elseif ($category -> parent != 0)  
            $category_nicename = get_category_parents($category -> parent,false,'/',true) . $category_nicename;  
        $category_rewrite['(' . $category_nicename . ')/(?:feed/)?(feed|rdf|rss|rss2|atom)/?$'] = 'index.php?category_name=$matches[1]&feed=$matches[2]';  
        $category_rewrite['(' . $category_nicename . ')/page/?([0-9]{1,})/?$'] = 'index.php?category_name=$matches[1]&paged=$matches[2]';  
        $category_rewrite['(' . $category_nicename . ')/?$'] = 'index.php?category_name=$matches[1]';  
    }  
    // Redirect support from Old Category Base  
    global $wp_rewrite;  
    $old_category_base = get_option('category_base') ? get_option('category_base') : 'category';  
    $old_category_base = trim($old_category_base,'/');  
    $category_rewrite[$old_category_base . '/(.*)$'] = 'index.php?category_redirect=$matches[1]';  
 
    //var_dump($category_rewrite); // For Debugging  
    return $category_rewrite;  
}  
 
 
// Add 'category_redirect' query variable  
add_filter('query_vars','no_category_base_query_vars');  
function no_category_base_query_vars($public_query_vars) {  
    $public_query_vars[] = 'category_redirect';  
    return $public_query_vars;  
}  
 
// Redirect if 'category_redirect' is set  
add_filter('request','no_category_base_request');  
function no_category_base_request($query_vars) {  
    //print_r($query_vars); // For Debugging  
    if (isset($query_vars['category_redirect'])) {  
        $catlink = trailingslashit(get_option('home')) . user_trailingslashit($query_vars['category_redirect'],'category');  
        status_header(301);  
        header("Location: $catlink");  
        exit();  
    }  
    return $query_vars;  
}  

《wordpress去掉分类category标志代码实现版本》是否对您有启发,欢迎查看更多与《wordpress去掉分类category标志代码实现版本》相关教程,学精学透。编程之家PHP学院为您提供精彩教程。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


1、想好字段名! 这里取一个test 商品发布模板:post_trade.htm 在商品发布模板贴内新建一个文本框!
一、后台 → 全局 → 关闭站点(为了不影响数据库备份) 二、数据备份
<?php /** [Discuz!] (C) 2001-2099 Comsenz Inc. config_global.php Build at 2012-07-06 10:16:22 */
今天给大家讲讲 如何把已经切割好的html页面或者模仿的页面转换成可供DIY的页面
打开网站根目录下/template/default/common header_common.htm文件找到 <title><!--{if !empty($navtitle)}-->$navtitle - <!--{/if}--><!--{if empty($nobbname)}--> $_G['se
打开网站根目录/source/module/portal/portal_list.php搜 category_get_list 在里面加入以下代码:添加一下代码
请问discuz的右侧工具栏(有回到顶部,返回板块),但是我想再添加点东西,可是我百度了,也从源码里找了好久,都没找到解决方法,请问可以教一下吗?
这里建议直接使用163邮箱,因为 我测试了 qq邮箱,yeah邮箱 均不能用。 第一步 去163注册一个邮箱,具体怎么注册 想必大家都会。注册好进入163 看下图
这些天百度和google了不知道多少遍,发现discuz的官方文档和二次开发资料少得可怜。调用个编辑器这样采用的功能官方文档居然没有,网友的分享多少也有些不完整;中途差点放弃。最后实在没办法兼不甘心,自己啃源码去
UPDATE `表名称` SET `click` = click+ROUND(RAND() * 6666+ 666) WHERE `click` <5000 复制代码
discuz在数据库批量更新(替换)板块id(fid/gid) UPDATE `fx_forum_thread` SET `fid` = replace(fid,'2','52') WHERE `fid` =2
想在自己的写上置顶的帖子    <div class="announcement_con"> <ul>
进入网站目录:/source/include/post 找到:post_newthread.php备份:post_newthread.php编辑:post_newthread.php搜索:
C::t('forum_attachment')->fetch_all_by_id('aid',$v['tid'] ); 执行上面的代码,会返回对应帖子的附件信息!
版本 dx 3.3 估计3.4一样有这个问题,ie内核的浏览器下在上传后,缩略图都是显示xx。这个问题主要还是https下,对图片输出的时候 不能使用
论坛人气弱?想改阅读数的站长可以围观! 找到:source/module/forum/forum_viewthread.php文件搜索代码:
<!--{if $allowpostreply && !$_G['forum_thread']['archiveid']}--> <a id="post_reply" onclick="showWindow('reply','forum.php?mod=post
SQL语句 UPDATE 表名称 SET 字段名 = REPLACE( 字段名,  '旧字符串',  '新的字符串' )
discuz 帖子内容页面的,上一篇,下一篇代码 上一篇: <a href="forum.php?mod=redirect&goto=nextoldset&tid=$_G[tid]" title="{lang last_thread}"><img src=&quo
1.php文件内判断 if(!$_G['uid']) {                         showmessage('to_login','',arra