03月06, 2018

Mac本地搭建wordpress

为了能够更好完成工作,协助调整博客样式,需要在本地搭建一个wordpress进行熟悉。记录一下部署过程。

1. MAMP

为了部署php应用方便,还是下载了MAMP,方便部署。

问题

  1. Q: 无法使用tools/phpMyAdmin

    A: 免费MAMP只能保留两个php版本,7.X的php版本不支持使用phpMyAdmin工具。 默认安装的有MAMP Pro可以选择多个php版本,如果使用MAMP的话,可以通过http://localhost:8888/MAMP/index.php?language=English&page=phpinfo 查看php版本,可看到php版本较高,无法使用phpMyAdmin。

    需要在MAMP文件夹Applications/MAMP/bin/php下将不用的php版本注释掉,如,我把php5.4.45 改成了php5.4.45.bak。只保留两个需要的php版本即可。

  2. Q: Sequel Pro 无法连接到数据库。

    A:如果输入localhost会提示需要通过socket连接,用户名和密码均为root

2. wordpress

在地址https://wordpress.org/download/ 进行下载

3. MAMP的webserver

MAMP的webserver默认是htdocs下面的目录,可改成wordpress下载解压的那个目录。

4. 访问

访问localhost:8888根据提示安装wordpress即可。

5. 修改主题

在wordpress里面有很多主题,安装后还需要根据实际需要进行主题的修改。在外观=> 自定义里面有个额外css,可以针对PC、pad和mobile等不同尺寸进行样式的修改和覆盖。

6. 自定义标签云

需要修改php页面话,可以在外观菜单下直接编辑。 慎用!建议复制子主题进行修改,以免升级后样式被覆盖。 在functions.php文件末尾增加代码。

// path: wordpress/wp-content/themes/iconic-one/functions.php

/* 自定义函数部分 */
/**
 * 修改标签云
 */
function widget_tag_cloud_args( $args ) {
        $args['largest']  = 12;
        $args['smallest'] = 12;

        return $args;
}
add_filter( 'widget_tag_cloud_args', 'widget_tag_cloud_args' );

7. 创建子主题

在thems目录下复制即可。 过程中发现使用root复制后无法修改,因为用户组和所属是root而不是apache。

// 拷贝文件权限
chown --reference=a b  // 将a的权限赋值给b

// 更改文件夹归属
chown -R apache iconic-one-child

// 更改文件夹所在用户组
chgrp -R apache iconic-one-child

8. 修改评论顺序

在functions.php文件末尾增加代码。

/* 修改评论顺序 */
function wpb_move_comment_field_to_bottom( $fields ) {
    $comment_field = $fields['comment'];
    unset( $fields['comment'] );
    $fields['comment'] = $comment_field;
    return $fields;
}
add_filter( 'comment_form_fields', 'wpb_move_comment_field_to_bottom' );

9. 修改评论名称

在functions.php文件末尾增加代码。

/* 修改提交按钮的值 */
function modify_comment_submit_field($fields) {
    $fields['submit_button'] = '<input name="submit" type="submit" id="submit" class="submit" value="提交" />';
    return $fields;
}

add_filter('comment_form_defaults', 'modify_comment_submit_field');

10. 首页改动

修改主题下的content.php

<footer class="entry-meta">
        <?php if ( is_home() && ( get_theme_mod( 'iconic_one_catg_home' , '1' ) == '1' ) ) : ?>
<!--          分类改为自定义-->
            <span><label class="icon icon-cat"></label> <?php the_category(' ');  //<?php _e('Category:','iconic-one'); ?></span>
        <?php elseif( !is_home() ): ?>
            <span><label class="icon icon-cat"></label><?php the_category(' '); ?></span>
        <?php endif; ?>

首页显示时间和作者

<!--              去掉关于详情的判断-->
                    <?php if ( 1 ): //for date on single page //is_single() || ( get_theme_mod( 'iconic_one_date_home' ) == '1' ) ?>

11. 多语言

使用主题过程中发现有多语言资源没有被翻译,查找资料后发现可以通过poedit进行多语言翻译。

  1. 在主题目录下找到languguage目录,查找对应的.po文件
  2. 在poedit里面进行翻译,翻译完毕后选择 【文件】 => 编译为mo文件。
  3. 将po和mo文件拷贝至wordpress/wp-content/languages/themes 目录
  4. 注意语言的缩写,比如制作的是简体中文的翻译,那么要保存为zh_CN.mo
  5. 网上有些地方说的需要改wp-config.php,亲测不需要。

12. http 改为https

  1. 页面上很多链接是带协议的,为了兼容http和https,一般链接会去掉协议。比如https://demo.com/demo.png会改为//demo.com/demo.png
  2. 修改博客【设置】=> 【常规】=> 【URL format】,改为Relative,这样博客内部的引用会变成相对路径。
  3. 使用插件remove-http,将http和https都去掉。
  4. 安装证书,配置nginx。

本文链接:http://fengbaiyang.cn/post/blog-wordpress.html

-- EOF --

Comments

暂不支持评论,如有问题,请发邮件至baiyang.feng@outlook.com。 望不吝赐教~