Month: February 2013

[教學] Nextgen Gallery 支援中文目錄以及檔案 (unicode, utf-8 folder and filename support)

1. 支援中文目錄

修改 functions.php 內的 create_gallery

function create_gallery($title, $defaultpath, $output = true) {
 
   global $user_ID;
 
   // get the current user ID
   get_currentuserinfo();
 
   //cleanup pathname
   //$name = sanitize_file_name( sanitize_title($title)  );
   //$name = apply_filters('ngg_gallery_name', $name);
   $nggRoot = WINABSPATH . $defaultpath;
   // call wp_unique_filename instead
   $name = wp_unique_filename( $nggRoot, $title, null );
   $txt = '';
 
   ...
}

2. 支援中文檔案

修改 functions.php 內的 scan_dir

function scandir( $dirname = '.' ) { 
   $ext = apply_filters('ngg_allowed_file_types', array('jpeg', 'jpg', 'png', 'gif') );
 
   $files = array(); 
   if( $handle = opendir( $dirname ) ) { 
      while( false !== ( $file = readdir( $handle ) ) ) {
         $info = pathinfo( $file );
         // just look for images with the correct extension
            if ( isset($info['extension']) )
               if ( in_array( strtolower($info['extension']), $ext) ) {
                  // no need encode anymore
                  //$files[] = utf8_encode( $file );
                  $files[] = $file;
               }
      }		
      closedir( $handle ); 
   } 
   sort( $files );
   return ( $files ); 
  }

修改 core.php 內的 fileinfo

function fileinfo( $name ) {
   ...
 
   $filepart['filename'] = urldecode( sanitize_title_with_dashes( $filepart['filename'] ) );
 
   ...
}
Tags : ,

[問題] 如何攔截 xcode throws exception 時的中斷點 (Breakpoint)

有時候程式會中斷,連當在哪裡都不知道。這時候就需要使用底下的功能。它會停在拋出 exception 時的那一行。

1. 從 Breakpoint navigator 選取 Add Exception Breakpoint

2. 點選 Enable Breakpoint

3. Done

 

Tags : ,

[教學] WordPress page / post 使用自訂 template

1. 加入以下程式碼至 functions.php

function my_post_template($template) {
   if ( !is_single() ) return $template;
   global $wp_query;
   $c_template = get_post_meta( $wp_query->post->ID, '_wp_page_template', true );
   return empty( $c_template ) ? $template : $c_template;
}
 
add_filter( 'template_include', 'my_post_template' );
 
function register_posts_templates() {
   add_post_type_support( 'post', 'page-attributes' );
}
 
add_action( 'init', 'register_posts_templates' );

2. 新增 template-MY_TEMPLATE_NAME.php 至 theme 目錄下, 並加入以下註解至檔頭

<?php
/*
Template Name: MY_TEMPLATE_NAME
*/
...
?>
Tags :

[教學] 在 MacOS 下讓 wordpress 使用固定網址

1. 建立 .htaccess 並讓 wordpress 有權限修改

$ cd web_site_root_directory
$ touch .htaccess
$ sudo chown _www .htaccess

2. 修改以你網站名稱命名的 .conf, 以 MacOS 10.6.7 為例,位於 /private/etc/apache2/sites 。

找到 "AllowOverride""None" 改成 "All"

3. 重新啓動 web service

Tags : ,