整合Dokuwiki

1)安装dw2wp插件:http://www.florian-feldhaus.de/dw2wp/
2)进WP后台“选项”,修改dw2wp,wiki地址设置为根地址:http://www.crsay.com/wiki/,带反斜杠
3)在WP内新建一个Page,添加:

<dokuwiki>/wiki/wiki.php</dokuwiki>

上句中使用时需去掉空格

整合完成后,在WP的head之间会加上一段wiki的css,可以简单修改一下dw2wp插件来屏蔽掉:

	function addHeaderCode() {
			// echo '<link type="text/css" rel="stylesheet" href="' . get_option('dw2wp_url') . '/lib/exe/css.php?s=screen" />' . "\n";
			$style = '<style type="text/css">'."\n";
			$style = $style . get_option('dw2wp_css') . "\n";
			$style = $style . '</style>'."\n";
			echo $style;
}

修改为:

	function addHeaderCode() {
			// echo '<link type="text/css" rel="stylesheet" href="' . get_option('dw2wp_url') . '/lib/exe/css.php?s=screen" />' . "\n";
if( substr($_SERVER["REQUEST_URI"],5,5)=='/wiki' ){
			$style = '<style type="text/css">'."\n";
			$style = $style . get_option('dw2wp_css') . "\n";
			$style = $style . '</style>'."\n";
			echo $style;
}
		}

注:2011/09/16 上述方法已停用

上述这种方法整合的Dokuwiki会带来一个问题:Blog内wiki的访问地址和实际上的wiki会有两个不同的地址,也就是说在一个站点上同一个内容同时并存而且用户可见的有2个地址,这个不是什么好事,而且也并没有实现用户的整合,既然如此,那么干脆采用简单一点的方法,直接修改wiki的模板和blog一致,方法也很简单,以dokuwiki的默认模板为例:

打开dw默认模板目录下的main.php在head与head之间,meta-header调用之后,手动加上wp的样式文件再把wp的头部拷贝到main.php的body之后
然后打开wiki页,稍微调整一下即可,缺点在于头文件部分不能和wp保持同步,不过好在够简单,目前采用的是这个方法,参见:http://www.crsay.com/wiki

整合Zenphoto

这个所谓整合,实际上只是修改Zenphoto的模板,让顶部和底部采用WP的样式而已
本文基于Wordpress 3.2.1+Zenphoto 1.4.1.3

1)进入Zenphoto的模板目录,以default模板为例,复制default模板为default_wp
2)新建一个文件命名为wp_header.php,内容如下:

<?php if (!defined('WEBPATH')) die(); ?>
<?php
/* Start WordPress */
define('WP_USE_THEMES', false);
require($_SERVER['DOCUMENT_ROOT'].'/blog/wp-blog-header.php');

/* fix WordPress 404 header */
header("HTTP/1.1 200 OK");

// add the zen css to the wordpress header
function addcss() {
  global $_zp_themeroot;
  echo '<link rel="stylesheet" href="'.$_zp_themeroot.'/styles/sterile-light.css" type="text/css" />';
}
add_action('wp_head', 'addcss');

/* Custom gallery Title */
function getphoto_title(){
if (function_exists('getGalleryTitle') && getGalleryTitle()!="") { echo ' » ' . getGalleryTitle(); } 
if (function_exists('getAlbumTitle') && getAlbumTitle()!="") { echo ' » ' . getAlbumTitle(); } 
if (function_exists('getImageTitle') && getImageTitle()!="") { echo ' » ' . getImageTitle(); } 
if (function_exists('getCurrentPage') && (getTotalPages()!=1) && ( getAlbumTitle()=="" || getImageTitle()=="" )) { echo ' » Page ' . getCurrentPage(); } 
}
?>

<?php get_header(); ?>

3)新建一个footer_wp.php,内容未:

<?php get_footer(); ?>

4)修改Zenphoto内的index.php、album.php、image.php
从开头至之前的所有内容替换为:

<?php
// force UTF-8 Ø
if (!defined('WEBPATH')) die(); $themeResult = getTheme($zenCSS, $themeColor, 'light');
?>
<?php include('header_wp.php'); ?>

从至末尾的内容替换为:

<?php include('footer_wp.php'); ?>

5)修改WP模板的header.php的Title显示部分为:

<?php if( substr($_SERVER["REQUEST_URI"],0,6)=='/photo' ){?>
<title><?php bloginfo('name'); ?> <?php getphoto_title();?></title>
<?php }
else{?>
<title><?php bloginfo('name'); ?> <?php if ( is_single() ) { ?> » Blog Archive <?php } ?> <?php wp_title(); ?></title>
<?php }?>

至此大功告成,本站示例参见:http://www.crsay.com/gallery/
2011/10/18:限于虚拟主机空间和流量限制,本站已取消本地相册,演示取消