Archive for the ‘WordPress’ Category

更改WordPress文章预览的链接

久久也不更新,流量反而还一直涨。
换到SAE还有点扛不住的趋势。

索性一咬牙,把首页的index.php换成了index.html
降低资源的开销,再挂满了各种小广告……
转眼一看,每天都有上百块的收入,越发觉得,就这样吧。
反正大家都是开发者,你们都有RSS的对不对,就算没RSS也会过滤广告的对不对。

跑题跑的严重
本来在写“五味杂陈”的,刚开了个头,发现每次按预览按钮,都会跳转到
uicss.cn/?p=16706&preview=true 这样的URL之下
服务器默认就把index.html的小广告给我弄的铺面而来了。
手动一次次把地址修改成 uicss.cn/index.php?p=16706&preview=true 实在烦躁。

于是先搞了个Rewrite的方法凑合用了用,不开心,有点太丑陋:

RewriteCond %{QUERY_STRING} p=(.*)&preview=true
RewriteRule (.*) /index.php?p=%1 [R=301,L]

完事试了试修改themes下functions.php的方法,舒服了好多。
喏,直接把代码加进去就行了。

//预览按钮链接
function uicss_preview_link() {
    
$slug = basename(get_permalink());
    
$mydomain = 'http://uicss.cn/';
    
$mydir = 'index.php';
    
$mynewpurl = "$mydomain$mydir$slug&preview=true";
    
return "$mynewpurl";
}
add_filter( 'preview_post_link', 'uicss_preview_link' );

WordPress搬家到sae

新浪每月会给高级开发者1万多的云豆
切一半流量过去测了几天,比较稳定,索性整个搬了过来。(对,以上都是炫耀)
备忘如下:

静态文件存储

虽然豆子多,但代码空间只有100M,直接把wp-content的uploads拷过来就撑爆了。需要在Storage开个文件夹,用小黄鸭Cyberduck上传静态资源,然后数据库里批量替换掉之前文章内的链接。

数据库备份

Storage再开一个backup的文件夹,然后在网站根目录创建backup.php

<?php
$date = date('Y-m-d');
$dj = new SaeDeferredJob();
$taskID=$dj->addTask("export","mysql","backup","$date.sql.zip","app_cuikai","","");
?>

config.yaml 里加个cron 每周执行一次

cron: - description: backup
url: backup.php
schedule: every Saturday of month 02:00
sitemap

结合sae提供的google-sitemap-generator扩展,生成sitemap到Storage
网站代码目录添加sitemap.php

<?
    
header("Content-Type: text/xml;");
    
$url="http://cuikai-wordpress.stor.sinaapp.com/sitemap.xml";
    
$contents=@file_get_contents($url);
    
echo $contents;
?>

config.yaml里中转

- rewrite: if ( path ~ "sitemap.xml") goto "sitemap.php"
二级域名跳转

/wp-blog-header.php 开头添加如下代码

if(strtolower($_SERVER['SERVER_NAME'])=='cuikai.sinaapp.com')
{
$URIRedirect=$_SERVER['REQUEST_URI'];
if(strtolower($URIRedirect)=="/index.php")
{
$URIRedirect="/";
}
header('HTTP/1.1 301 Moved Permanently');
header('Location:http://uicss.cn'.$URIRedirect);
exit();
}
域名cname指向

万网不支持cname记录url,要么ping域名拿到a记录,要么托管到DNSPod

就这样,别的没啥需要记的。

让PHP里包含PHP

有这样一段代码,我能够在分类ID为9的时候,输出 Hello World

<?php
if (is_category(9)) {
    
echo 'Hello World';
}
?>

接下来,我希望在分类为9的时候,输出一段文章列表:

<?php
if (is_category(9)) {
?>
    
<?php $posts = get_posts('showposts=15&cat=9'); ?>
    
<?php if( $posts ) : ?>
    <ul>
<?php foreach( $posts as $post ) : setup_postdata( $post ); ?>
    <li><a href='
<?php the_permalink() ?>'><?php the_title(); ?></a></li>
    
<?php endforeach; ?>
    </ul>
    
<?php endif; ?>
<?php
}
?>

用好 { 以及 <?php } ?>就行,笔记如上,以此备忘。

WordPress在线安装插件

WordPress在“控制板”提供了在线安装插件的选项,
选中插件安装的时候,如果没有在wp-config录入过FTP的信息,会提示在此输入:

该功能目前不支持SFTP,如果没有FTP的账号,需要ssh到服务器上,开通一个FTP账号

ssh -l root 223.4.234.71 //用root的身份登陆到该ip的服务器上
useradd -d /var/www/viacreative wpftp //添加一个用户名为wpftp的账号,指向到网站所在目录
passwd wpftp //给wpftp账号设定密码

如果懒得每次都输入FTP密码,可以在wp-config添加以下代码

define('FTP_HOST', '223.4.234.71');
define('FTP_USER', 'wpftp');
define('FTP_PASS', '这填FTP密码');

如果已有FTP账号,遇到 “无法创建目录。/wp-content/upgrade” 的问题,
可以通过修改文件夹的权限来解决:

chmod -R 755 /var/www/viacreative/wp-content/

当然,不经常玩插件的可以通过上传zip的方式来安装。

Page 2 of 912345...Last »
崔凯博客
Powered by SinaSAE | Theme by ck web design | TOP 顶部
Copyright © 崔凯 All rights reserved. 蜀ICP备12025891号.