2011
Nov
02

网页好读版

wordpree 会员登入使用到 Cookie 功能,而且前后台的 Cookie读的路径不太一样,所以登入后每个路径都要设 Cookie。

  • wordpress 的登入的cookie资料,必需设定以下路径

/ 主目录

/wp前端目录

/wp/wp-admin 后台目录

/wp/wp-content/plugin 外挂目录

  • cookie名称长得像这样:wordpress_logged_in_XXXXXXXXXX

登入整合

  • 需要的include的档案
Example
  1. require_once(/wp/wp-includes/class-phpass.php');
  2. require_once(/wp/wp-includes/cache.php');
  • 比对登入帐密是否正确
Example
  1. function user_password($username,$password=false){
  2. //抓 user的资料
  3. $u=*get user Data
  4. $wp_hasher = new PasswordHash(8, TRUE);
  5. $check = $wp_hasher->CheckPassword($password, $u[0]['user_pass']);
  6. return $check;
  7. }
  • 储存user 的 cookie
Example
  1. //设定 cookie的名称
  2. define('COOKIEHASH', md5 ( wp_options siteurl );
  3. define('AUTH_COOKIE','wordpress_logged_in_'.COOKIEHASH);
  4.  
  5. //设定$current_user
  6. $user=getUserID(); //抓user ID;
  7. wp_set_current_user($user);
  8.  
  9. //设定cookie路径
  10. $cookie = AUTH_COOKIE;
  11. $s =
  12. setcookie($cookie,$s,$time,COOKIEPATH, COOKIE_DOMAIN, '', true);
  13. setcookie($cookie,$s,$time,SITECOOKIEPATH, COOKIE_DOMAIN, '', true);
  14. setcookie($cookie,$s,$time,ADMIN_COOKIE_PATH, COOKIE_DOMAIN, '', true);
  15. setcookie($cookie,$s,$time,PLUGINS_COOKIE_PATH, COOKIE_DOMAIN, '', true);

wordpress POST 被阻挡

在wordpress中,自已的post form 常常被wordpress阻挡

解决方式:建立一个新的post.php档案
Example
  1. if ( !isset($wp_did_header) ) {
  2. $wp_did_header = true;
  3. require_once( dirname(__FILE__) . '/wp-load.php' );
  4. wp();
  5. require_once( ABSPATH . WPINC . '/template-loader.php' );
  6. }
  7. //导到目标档案
  8. require(TEMPLATEPATH.'/index.php');

网页好读版