1、本地安装了 mysql8.0,安装wordpress的时候,本地数据库不能使用 localhost,而必须要用 127.0.0.1 。在 wp-config.php 中修改
2、访问路径去掉 category 复制以下代码到 function.php
//去除分类标志代码 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(); } // 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; }
此时,有可能会出现页面404的情况。 后台的固定链接,选择 “朴素” 然后,再修改回来保证正常刷新。
-----------------------------------------------
mac下有时候,修改无效,则
前往文件夹,输入
/etc
打开 apache2/httpd.conf 这个文件找到
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
把前面的 # 去掉,保存。这样就支持rewrite了。
然后,依然是这个文件,搜索
AllowOverride None
一共有三处,全部改为
AllowOverride All
也就是让服务器支持.htaccess文件
-------------------------------------------------------------
3、获取指定分类信息和链接
WordPress获取指定分类ID的分类名:
<?php echo get_cat_name( $catid );?>
WordPress获取指定分类ID的分类链接:
<?php echo get_category_link( $catid );?>
WordPress获取指定分类ID的分类描述:
<?php echo category_description( $catid01 ); ?>
4、无法上传图片
chmod -R 777 wp-content/
5、wordpress 修改域名以后,更新文章图片地址
UPDATE dy_posts SET post_content = REPLACE( post_content, \'旧域名\', \'新域名\' );