Category - CMS

WordPress 投稿のカテゴリ

ここのデータ

SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id WHERE tt.taxonomy IN ('category') ORDER BY t.name ASC

read more

WordPress WPtouch 画面からはみ出る場合

wptouch/themes/default/style.css

内でページ内のdivの幅を制限することである程度は回避可能

例)
.post div{
max-width:240px;
}

read more

WordPress WPtouch

固定ページ、記事の背景が白くならず タイトルの部分で城が終わる場合は

<div style="clear: both;"></div>をいちばん下に入れる

read more

WordPress PEARライブラリが利用できるプラグイン

WP-Pears-1.0

http://www.belive.jp/archives/wp-pears-1_0/

read more

WordPress php include


$dir = dirname(dirname(dirname(dirname(__FILE__))));
include($dir ."/xxx.php");

wp_content

read more

WordPress 自動改行を無効にする

PS Disable Auto Formatting プラグインを利用する

http://www.web-strategy.jp/wp_plugin/ps_disable_auto_formatting/

read more

WordPress バナー管理

WP Bannerize
http://wordpress.org/extend/plugins/wp-bannerize/

コード埋め込みでバナー表示
<?php if(function_exists( 'wp_bannerize' )) wp_bannerize(); ?>

read more

WordPress Ktai Style 外部リンク

外部サイトへのリンクの際に 直接リンクを張るようにする

テーマ/functions.php に追加

function ks_direct_external_link($link_html, $href, $label) {
return '<a href="' . attribute_escape($href) . '">' . $label . '</a>';
}
add_filter('ktai_external_link', 'ks_direct_external_link', 90, 3);

read more

WordPress 自動改行を防ぐプラグイン

http://www.web-strategy.jp/wp_plugin/ps_disable_auto_formatting/#lang_jp

編集の途中でbrやpが入るのを防ぐプラグイン

read more

WordPress Ktai Style ログイン

WordpressのKetai Styleで会員制サイトを作成する場合
WP-Membersとかと組み合わせる
Ktai Styleでは独自のセッションで実装されており、セッションの引き継ぎが難しい場合もあり。

携帯のIDを利用したカスタマイズの例

index.php に追加
set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . PATH_SEPARATOR . dirname(__FILE__) .'/lib');
libフォルダを作って Net_UseAgent_Mobileをインストール

ktai-style/ktai_style.php の画面出力前に追加
 output_add_rewrite_var('guid', 'ON');

ktai-style/admin/class.php に追加
-------
public function setHash($dir, $id, $val){
// ファイルを書き出すディレクトリ
$_dir = $dir;
// 既にファイルが存在すれば削除する
@unlink("{$_dir}/{$id}");
// 書き出し
$fp = fopen("{$_dir}/{$id}", "a+");
if (!(empty($fp))) {
flock($fp, LOCK_EX);
fputs($fp, $val);
flock($fp, LOCK_UN);
fclose($fp);
}
}


/**
* SESpreIDをファイル名として hashの値を取得するメソッド
*/
public function getHash($dir, $id){
return file_get_contents("{$dir}/{$id}");
}
-------

セッション開始メソッドの最後に端末IDをファイル名としてsidを書き出すように
public function set_session($user_id, $sid = NULL, $data = NULL, $remember = false) {
# 略
   // 端末IDを取得してhashの値を取得
   $agent = Net_UserAgent_Mobile::singleton();

   $this->setHash(dirname(dirname(__FILE__)) . '/tmp' , $agent->getUID(), $sid);
}

-------
セッション取得メソッドの最後に追加
public function get_sid() {
# 略
   if (! is_string($sid) && ! is_numeric($sid)) {
      // 端末IDを取得してhashの値を取得
      $agent = Net_UserAgent_Mobile::singleton();
      $sid = $this->getHash(dirname(dirname(__FILE__)) . '/tmp' , $agent->getUID());
   }
}

sidを引き継げます。
携帯端末IDをそのまま利用するのではなく、内部で文字列を足す等の処理を行ったほうがいいです。

read more

WordPress KtaiStyle 携帯でのログインエラー

Fatal error: Call to private method KtaiStyle_Admin::set_auth_cookie() from context '' in /wp-content/plugins/ktai-style/admin/pluggable-override.php on line 53

こんなエラーが出た場合

kati-style/admin/class.php 内の set_auth_cookieメソッドをpublicにする

変更前) private function set_auth_cookie($user_id, $remember = false, $secure = false) {

変更後) public function set_auth_cookie($user_id, $remember = false, $secure = false) {

read more

WordPress  the_excerpt

the_excerpt()

投稿の「抜粋」の内容を出力。
抜粋は管理画面で設定。

read more

WordPress カテゴリ以下の投稿を取得

カテゴリ以下の投稿取得時に実行されるSQL

cat=7 の場合


SELECT term_taxonomy_id
FROM wp_term_taxonomy
WHERE taxonomy = 'category'
AND term_id IN (7)

SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id WHERE tt.taxonomy = 'category' AND t.term_id = 7 LIMIT 1

SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) WHERE 1=1 AND ( wp_term_relationships.term_taxonomy_id IN (7) ) AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish') GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC LIMIT 0, 10

read more

Wordpress 管理画面テンプレート

wp-admin/includes/template.php を編集するのが早い

read more

WordPress お問い合わせフォーム

フォーム入力→メール送信を実装するプラグイン

Contact Form 7
http://contactform7.com/

使い方説明
http://www.seotemplate.biz/blog/wordpress-plug/883/

read more

WordPress Ktai-style リンクのエラー

KtaiStyleでモバイル用に変換しているサイトで、メニューなどサイト内リンクにも関わらず
ページ遷移後に「サイトが移動しました(303エラー)」と表示されるケースがある場合


末尾の「/」があるかないか

WPの設定で末尾に「/」 が入っている場合はaタグに入力するURLにも「/」を加えていないとリダイレクト扱いになってしまう

フルパスでリンクを記述して解決

read more

WordPress 会員制サイト ログインしているか判定


//インクルードされたphpファイルでは必要な場合もあり。
global $user_identity;

if( is_user_logged_in()) ){
    // ログイン時の処理
}

read more

Wordpress 記事投稿

PHP内で記事を投稿させる場合

$wpdb->postsだけでなく、カテゴリ指定の$wpdb->term_relationshipsにもデータが必要。

テーブルへのデータ登録は

global $wpdb;

$wpdb->insert( テーブル名,  カラムと値の配列 ); で行う。

read more

WordPress Exec-php

デフォルトでは管理者権限でのみ実行可能。
すべてのユーザーで実行する場合は

plugin/exec-php/include/runtime.php のfilter_user_contentメソッド内の権限チェックをコメントに


function filter_user_content($content)
{
global $post;
/*
// check whether the article author is allowed to execute PHP code
if (!isset($post) || !isset($post->post_author))
return $content;
$poster = new WP_User($post->post_author);
if (!$poster->has_cap(ExecPhp_CAPABILITY_EXECUTE_ARTICLES))
return $content;
*/
return $this->eval_php($content);
}

read more

WordPress 会員制サイト 入力チェック

固定ページ内に
カスタムフィールドを追加   名前:block 値:1

入力にエラーがある場合は 入力ページに戻す

read more

WordPress 会員制サイト

プラグイン WP-Membersを使用。
http://hijiriworld.com/web/wordpress-wp-members/

日本語化
http://hijiriworld.com/web/wordpress-wp-members-ja/

登録フォームを任意のものに変更する場合は
form内に name="a" value="register" を持たせること。

wp-members/wp-members-core.php 参照

read more

WordPress 会員制サイト

プラグイン WP-Membersを使用。

登録後のメッセージ等はWP-Membersのプラグイン管理で。

http://hijiriworld.com/web/wordpress-wp-members/

read more

Wordpressの投稿、固定ページ内でPHPを実行する

Exec-PHPというプラグインをインストールすると

が利用できる。

read more

ZenCart インストール

PHPでできたオープンソースのショッピングサイト構築ツールZenCartをインストールしてみました
公式ページより最新版アーカイブをダウンロードしてサーバーにアップロード後、
XOOPSのインストールのようにインストール画面に沿って進めます。

*ちなみにWORDファイルをHTMLで保存したものなので見にくいです

ここ

read more

Nucleus ログイン機能を他画面で使う

Nucleus のユーザー機能を自作アプリケーションで使う場合のメモ

NUCLEUS_HOME/nucleus/libs/globalfunctions.phpがすべての動きを制御してる(はず)
この中の action パラメーターのvalueで画面の動きが振り分けられる

index.php は

// This file will generate and return the main page of the site
$CONF = array();
$CONF['Self'] = 'index.php';
include('./config.php');
selector();

これだけ
include('./config.php'); このコードでglobalfunctions.php他、lib以下のクラスを呼び出しているので
ログイン用PHPはconfig.php をコールしつつ
action でlogin を指定して ログインIDとパスワードを渡してやればOK
このあたりはHTMLのソースを見るしかない
基本的にパラメーターさえ分かれば画面の制御は勝手PHP側で可能

ちなみに自作したFORM先のログインPHPは

$CONF = array();
$CONF['Self'] = 'このPHPのファイル名';;
include('./config.php');
header("location: ログイン後の飛び先");
exit;

ログインした場合は echo $member->isLoggedIn(); で1が返る

read more

nucleusインストール

PHP, MySQLでできたnucleusというブログ
動きは軽快
ブログだけでなく、CMSとしても十分に使えます

これをロリポップサーバーへインストール

http://japan.nucleuscms.org/download.php
ここから最新版をダウンロードします
Nucleus CMS v3.23 の日本語版   nucleus3.23_ja_euc.zip

端末上で解凍後、アップロードします
NUCLEUS_HOME/config.phpのパーミッションを666へ
install.php, install.sql のパーミッションを755にします

そして install.php へブラウザからアクセス。

MySQLの設定を入力するだけでOK
ディレクトリのパスなんかは自動で認識されてます。
インストールボタンを押したら勝手にインストールが始まります。

終わったら install.php, install.sql を削除。
ブラウザから管理画面もしくはブログ画面へアクセス。

エラーがでるときは config.php のパーミッションを444にして再アクセス。

これでOK
ちなみに私のURLは http://drunk.chips.jp/nucleus/

*ソース内部を見るとSQLインジェクションを喰らってしまいそうなところが何箇所かあるんですが大丈夫でしょうか・・・

read more

Recent entry

Search

Tag Cloud

Page Top