建站教程

建站教程

Products

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

wordpress建站教程:给Wordpress页面添加分类和标签属性(WordPress如何去掉分类链接中的category)

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


wordpress建站教程:给Wordpress页面添加分类和标签属性

作者:悦然wordpress建站(悦然建站)


(此处已添加小程序,请到今日头条客户端查看)


​使用wordpress建站之后,日常的网站内容更新可以通过文章和页面两种形式,基本的内容编辑都是一样的,不过wordpress的页面不能添加标签和分类。


最近有用户咨询悦然建站,他想把一些页面添加到文章分类里面,借这个机会悦然企业网站建设给大家分享两个方法,教大家给wordpress站点的页面添加标签和分类属性。


使用插件


使用插件是最简单的方法,大家可以去搜索下载一个插件-Post Tags and Categories for Pages,然后安装就可以了,并不需要特别的设置。


添加代码


如果你的wordpress网站已经使用了比较多的插件,或者是这个插件与你当前的wordpress版本是主题不兼容,那么可以尝试直接使用代码来添加标签和分类属性。


给大家分享的代码如下:内容是从插件中提取出来的


//为WordPress页面添加标签和分类

(悦然wordpress建站收集分享)

class PTCFP{

function __construct(){

add_action( 'init', array( $this, 'taxonomies_for_pages' ) );

/**

* 确保这些查询修改不会作用于管理后台,防止文章和页面混杂

*/

if ( ! is_admin() ) {

add_action( 'pre_get_posts', array( $this, 'category_archives' ) );

add_action( 'pre_get_posts', array( $this, 'tags_archives' ) );

} // ! is_admin

} // __construct

/**

* 为“页面”添加“标签”和“分类”

*

* @uses register_taxonomy_for_object_type

*/

function taxonomies_for_pages() {

register_taxonomy_for_object_type( 'post_tag', 'page' );

register_taxonomy_for_object_type( 'category', 'page' );

} // taxonomies_for_pages

/**

* 在标签存档中包含“页面”

*/

function tags_archives( $wp_query ) {

if ( $wp_query->get( 'tag' ) )

$wp_query->set( 'post_type', 'any' );

} // tags_archives

/**

* 在分类存档中包含“页面”

*/

function category_archives( $wp_query ) {

if ( $wp_query->get( 'category_name' ) || $wp_query->get( 'cat' ) )

$wp_query->set( 'post_type', 'any' );

} // category_archives

} // PTCFP

$ptcfp = new PTCFP();


操作方法:复制上面的代码,把它添加到当前wordpress主题模板的functions.php文件中,然后保存,刷新后台即可。


使用效果



当使用插件或代码成功给页面添加标签和分类属性后,在wordpress后面的页面下就会多出分类和标签菜单,内容与文章是一样的,右边的页面快速编辑中也可以直接给页面指定分类,添加标签。



https://www.zsxxfx.com/fuwu


比如以悦然企业网站建设自己的网站来例,我们把其中一个页面添加到了服务项目分类中,如上图所示。


总结


给wordpress页面添加分类或标签是一个非常小众的要求,总的来说没有太大的意义,一般情况下并不建议大家这样去做。企业网站建设完成后最重要的还是做好基本的网站内容更新,不要总去纠结一些不太重要的功能或细节。


不过wordpress页面的存在有其它更重要的意义,比如进行一些更复杂设计或开发,而且页面可以用来设计单独的首页或专题页。

WordPress如何去掉分类链接中的category

在我们给博客做WordPress优化时,很多细节都不可忽视,例如:分类链接中的category:https://www.wpzxbj.com/category/theme

WordPress分类的链接地址是程序中自带category目录, 这种结构的url其实还有优化的余地的,url优化是相对来说比较重要的环节, 如果能够去掉分类链接中的category无疑也是对网站seo优化有利。

那么我们改如何去掉分类链接中的category呢?下面wp自学笔记分享一段去掉分类链接中的category的WordPress代码:

//去掉分类链接中的categoryadd_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 baseadd_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] = \\\'{5cc1b29162d549a8071384de182cc9fc6e6a0fd85e7907f22fd9e18cff4269c3}category{5cc1b29162d549a8071384de182cc9fc6e6a0fd85e7907f22fd9e18cff4269c3}\\\';        } else {                $wp_rewrite -> extra_permastructs[\\\'category\\\'][\\\'struct\\\'] = \\\'{5cc1b29162d549a8071384de182cc9fc6e6a0fd85e7907f22fd9e18cff4269c3}category{5cc1b29162d549a8071384de182cc9fc6e6a0fd85e7907f22fd9e18cff4269c3}\\\';        }}// Add our custom category rewrite rulesadd_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 variableadd_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 setadd_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;}

这段代码很长,很多人都看不懂,不过其实也不用看懂,直接将上面代码添加到主题functions.php文件就行。

扫码关注wpwp自学笔记

精选优质免费WordPress主题模板,分享最新WordPress实用建站教程!

记住我们的网址:ztJun.com

标签: 小程序

提交需求或反馈

Demand feedback