2015.02.05

WordPressで複数ブログの作成・・・(WordPress)

WordPressで複数のブログを作成するためには、まずWordpressで単独のブログを作成してから、拡張する形をとる。

(1) wp-config.phpの修正

最初にwordpress内のwp-config.phpに下記に示すように複数ブログ作成許可を書き加える。加える場所は、どこでも良い。

 /** データベースのテーブルを作成する際のデータベースの文字セット */
define('DB_CHARSET', 'utf8');

/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define('DB_COLLATE', '');

define ('WP_ALLOW_MULTISITE', true);   ← この行を追加

/**#@+
 * 認証用ユニークキー

(2) wp-config.phpの再修正と.htaccess

wp-config.phpにdefine (‘WP_ALLOW_MULTISITE’, true); を追加してwordpressを起動し、サイドメニューから「ツール」を選び「ネットワークの設置」をクリックすると、下図のように「プラグイン停止」の警告が出るので、全てのプラグインを停止してから再度「ネットワークの設置」を行う。

wp03.png

再度「ネットワークの設置」を行うと、下図のように、wp-config.phpと.htaccessを修正する内容が表示される。

wp04.png

a. wp-config.phpは、書かれているように/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */の行の前に追加する。

b. .htaccessの修正は、表示されているように書き変える。
 下記が修正後である。

DirectoryIndex index.html index.cgi index.php index.shtml
php_flag mbstring.encoding_translation off
php_value default_charset "UTF-8"

# BEGIN WordPress
<IfModule mod_rewrite.c>      ← ここからが変更した部分
RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin              
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]        ← ここまでが変更した部分

</IfModule>
# END WordPress

(3) サイトの追加

wp-config.phpと.htaccessを修正したら、一度ログアウトしてログインし直す。
下図のように参加サイトに「サイトネットワーク管理者」が追加されているので、ダッシュボードをクリックする。

ここで、先に停止したプラグインを有効化して、メニューのサイトにマウスのポインターを移動すると、下図のように新規追加がに現れるので、これをクリックする。



現れた画面で下図のように、追加ブログのパス名、タイトル、メールアドレスを入れてサイトの追加を行う。

wp08.png


(4) サイト追加後の運用

複数サイト運用に移行すると、個別のブログで行う作業と、「サイトネットワーク管理者」のみ可能な作業がある。テーマの編集、プラグインの追加と有効化/無効化等は「サイトネットワーク管理者」でのみ可能な作業である。


2015.01.31

WordPressカスタマイズ(最近のコメントと最近の記事)・・・(WordPress)

WordPresssのテーマに「小粋空間」提供のkoikikukan3を採用したことを先に書いたが、Wordpressでは、サイドパネルの表示要素をWidgetとして、自由に選択できるので便利であり、style.cssで背景画などを設定し直せば、概ね所望のデザインができるが、標準のwidgetで気に入らなければ、カスタマイズすることになる。

(1) 最近のコメント

サイドパネルの最近のコメントリストは、単純に投稿されたコメントが投稿者名とともに、降順で表示される。
しかし、同じ記事に対するコメント表示で、記事タイトルが毎回表示されるのは煩わしいので、記事が変わった時のみタイトルを表示し同一記事に対しての2つ目以降は、投稿者名のみ表示することとした。 下記がそのphpスクリプトである。

<ul>
<div id="widget-container"><h2 class="widget-title">最近のコメント</h2><ul id="recentcomments">
<?php
$title = ""; $pretitle = "xxx";
$comments = get_comments(array(
    'status' => 'approve',
    'number' => 100
));
foreach($comments as $comment):
$post = get_post($comment-> comment_post_ID);
    ob_start();
    the_title();
    $title = ob_get_contents();          //出力されるはずだったタイトルを取得
    ob_end_clean();
    ob_start();
    the_permalink();
    $pmlink = ob_get_contents();        //出力されるはずだったリンク先を取得
    ob_end_clean();

if($title != $pretitle){
  $pretitle = $title;
  echo "<li><a href=\"$pmlink#comments\">$title</a></li>\n";
}?>
   <p><?php comment_author_link(); ?>(<?php comment_date('Y/m/d'); ?>)</p>
<?php endforeach; ?>
</ul>

(2) 最近の投稿

標準のwidgetで提供される最近の投稿の表示では、多くの記事を表示すると行数が多くなるので、プルダウンにしたいと考えた。
wordpressが提供する wp_get_archives という関数はプルダウンにする機能を備えている。 format=optionを指定するだけで、<option>と</option>で挟んで出力され、そのままプルダウンを構成できる。
合わせて、総投稿記事数も表示したいと考え、それをカウントするスクリプトもプルダウン表示先立ちに追加した。

<div id="widget-container"><h2>最近の投稿</h2>
<?php $numposts = $wpdb->get_var("SELECT count(5) FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'post'");
if ($numposts > 0)
     $numposts = number_format($numposts);          // 記事総数の取得
?>
<spn> <a href="<?php echo get_option('siteurl'); ?>/?page_id=277">記事一覧</a><?php echo "<small> (総記事数:$numposts)\n"; ?></small>
</span>
     <div class="postsel">  
    <select name="archive-dropdown" onChange='document.location.href=this.options[this.selectedIndex].value;'>
             <option value=""><?php echo attribute_escape(__('記事を選択')); ?></option>
               <?php wp_get_archives('type=postbypost&limit=200&format=option'); ?>
          </select>
   </div>
</div>
  <?php if ( ! dynamic_sidebar( 'secondary-widget-area' ) ) : ?>
<?php endif; ?>

ブログの作成(wordpress)・・・(WordPress)

wordpressでは複数のブログの作成ができるが、それは後で追加するとして、まず一つ目のブログを作成する。

ログインできたら、外観 → テーマとたどって、気にいったテーマを選ぶことになるが、テーマは後からでも自由に変更できるので、気に入ったものが無くてもとりあえず何かを選んで作業を進める。
テーマを選んだら、次にプラグインの新規追加で、Movable Type and TypePad Importer
とwordpress Importerを入れておく。
次に、Movabletypeのブログからエクスポートでおいたファイルをツール → インポートとたどりMovable Type and TypePadをクリックして、インポートする。
インポートすれば、サイトを表示で直ぐに結果を見ることができる。MTのように構築する必要もなく、直ちに見られるのがうれしい。
ネットで探して、気に入ったテーマが見つかれば、それを新規追加して切り替えれば終わりだが、なかなか気に入ったものが見つからず、結局「小粋空間」で出しているwordpressのテーマのkoikikukan3を入れて、自分好みにカスタマイズした。


MovabletypeからWordPressへ・・・(WordPress)

長い間(10年以上)、幾度かの版数アップとカスタマイズを行いながら使い続けてきたブログエンジンのMovvabletypeを中止して、Wordpressに乗り換えた。
乗り換えの最大の理由は、自宅のサーバーを止めてレンタルサーバーに移行したが、MTの再構築で度々タイムアウトのエラーが出て、色々と手を尽くしたが、改善は出来ても完全に解決できなかったこと。うまく行った場合も再構築に時間がかかり嫌気が射してきたことによる。
インストールは簡単で、wordpress-4.1-ja.zipを解凍して出てきたwordpressのフォールダーそのままサーバーに放り込むだけである。
そして、wp-config-sample.phpをwp-config.phpに名前を変え、中身を以下のように編集する。

define('DB_NAME', 'abcd-db');     ← mysqlで作ったDBの名前を入れる。

/** MySQL database username */
define('DB_USER', 'xyz');     ← mysqlで作ったDBのユーザー名を入れる。

/** MySQL database password */
define('DB_PASSWORD', 'xxxxx'); ← mysqlで作ったDBのパスワードを入れる。

define('WPLANG', 'ja');     ← wordpress-4.1-jaでは、この行は存在しなかった。
                  ないとプラグインで日本語化されないものがある。

次に、wordpressディレクトリーに.htaccessファイルを作り、以下の内容を書いておく。
Mysql, phpがUTF-8になるようにの設定されていて、index.phpがdefaultのアクセスファイルになっていれば、記述は不要と思われるが、おまじないと思って書いておく。

DirectoryIndex index.html index.cgi index.php index.shtml
php_flag mbstring.encoding_translation off
php_value default_charset "UTF-8"

なお、Apacheの設定で、.htaccessが有効で、ディレクトリーのAllowOverride NoneをNone → Allとしておく必要がある。これを行わないとパーマリンクの設定が出来なくなる。

<Directory /usr/www/>  ← システムにより異なる
        Options Indexes FollowSymLinks
        AllowOverride None   → AllowOverride All
        Require all granted
</Directory>

あとは、ブラウザでwordpressのディレクトリーにアクセスすれば、ユーザ名、パスワード、メールアドレスを入れる画面となるので、これを記入して保存すれば、ログイン画面に切り替わる。 ここで、あらためてログインして、作業を続けることとなる。

Movabletypeでは、perlのライブラリーをこれでもかと思うぐらい入れる必要があったが、wordpressでは、phpからmysqlが使えるようにphp5-mysqlを入れ忘れないようにするぐらいである。実に簡単である。


2014.05.28

puppy linuxのprecise 5.7.1でプリンターの設定・・・(puppy linux)

puppy linuxのprecise 5.7.1をインストールして、無線LANの設定に続いてプリンターの接続設定を行った。
私のプリンターは、BrotherのDCP-J925Nであるが、Brotherのホームページから「サポート」→ 「OS対応状況」」→ 「Linux」→ 「プリンター」→ 「簡易インストル」とたどると、簡易インストール方法が書いてあるので、その通りに作業したがプリンターが動かないばかりかPuppy Linuxの動作までおかしくなってしまった。
precisesavexxxx.4fsを保存してあったので、これで上書きして元の状態に戻してやり直した。
「簡易インストール」を諦めて「CUPS用」を読むと、/var/spool/lpdがなければ、mkdir /var/spool/lpdで作成と書かれていたので、GUIで/var/spoolに移動してマウス右クリックでディレクトリーの新規作成でlpdを作成した。
次にホームページからソフトウェアーダウンロードのページを選んで「インクジェットプリンター・複合機」→「DCP-J925N」→「Linux」→「Linux(deb)」でLPR プリンタードライバー (deb package)のdcpj925nlpr-3.0.1-1.i386.debとCUPSwrapper プリンタードライバー (deb package)のdcpj925ncupswrapper-3.0.0-1.i386.debダウンロードする。
そして、プリンタードライバーファイルをワンクリックし、続いてCUPSドライバーをワンクリックすれば、インストールは終了である。
そこで、ブラウザを立ち上げてURL欄にlocalhost:631と入力してCUPSの管理画面を開く。
プリンター表示画面を見ると接続先がUSBになっていた(下図)。
print01.png
私のところは、無線LAN接続なので、プリンターの変更を選び、AppSocket/HP JetDirectを選ぶ(下図)。
print02.png
残念ながら図を撮りそこねたが、入力ウィンドウが現れるので
soket://(プリンターのURL)を入力する、ちなみに私のところではsocket://192.168.1.10である。
次に開いたページで「このプリンターを共有する」にチェックを入れて、続けるを押す。プリンター共有としたのは、googleクラウドプリントを試すためである。
print03.png
接続がsocket://(プリンターのURL)で、現在のドライバーが正しいことをチェックして「プリンターの変更」ボタンを押せば完了である。
print04.png
最後の管理画面の「メンテナンス」でテストプリントして正しく出れば終わりである。
その後、LibreOfficeで画像が貼り付けられた文章を使って両面印刷を試してみたが、問題なく印字された。ただし、最初印刷スタートボタンを押したとき、一瞬プリンターが起動できないのメッセージが出たが正常に印字され、その後はメッセージも出なくなって問題なく使用可能となった。


« Previous | Next »