サイト運営の話」カテゴリーアーカイブ

MovableTypeの原稿作成で画面表示の改行がおかしくなった。

最近、突然、MovableTypeの原稿作成の時の画面表示がおかしくなって困っていました。
以前は、1行あたりの表示文字数が固定になっていて、いくら多くの文字を改行無しに入力しても、画面上は自動改行されて次の行として表示されていたのです。ところが急に、1行に多くの文字を入力すると、リターンキーをクリックして改行しない場合に、表示も1行のままの状態で表示されて、画面から隠れた部分の文を見る時には横方向のスクロールをしないといけないのです。つまり全体の文を見渡せないのです。これは文章の不具合をチェックする場合に、著しく都合が悪いのです。
いろいろ設定をチェックしたり、最近入れ替えたOSが原因かとか、ブラウザが原因なのかとか、調べたりしたのですが、原因は一向にわかりませんでした。
最初は1台のパソコンだけだったのですが(実際には原稿の作成・修正をしたのは、その1台だったのかも)、そのうちに全てのパソコンが同じ状況になりました。
ネットで調べても、なかなか原因を確定することはできなかったのですが、EntryTextareaBrakerというプラグインを利用すると解決することが判明しました。
今まで、そういうプラグインを利用しなくても、問題なかったのに、なんで突然そうなったのかは未だに不明です。ちなみにMovableTypeはversion 6.0.8です。

WordPress カテゴリーのページで同一カテゴリーの投稿一覧を表示

2015年11月20日

きまっし金沢の雑記帖で投稿数が多くなったのでカテゴリーの種類を増やして記事の検索をしやすくしました。
それに関連して、カテゴリー別のページを表示する際、従来は左のウインドウには、他のページと同じく新しい投稿一覧を表示したのを、同一カテゴリーの投稿一覧を表示するのに変更しました。
自分のスキル不足により、これだけのことに、かなり苦労しました。

Woedpressの管理画面の外観・・・テーマ編集・・・sidebar.php  を編集します。
最近の投稿を表示している箇所を下記のように書き換えて希望のフォーマットになりました。

<li>
<ul><?php if (is_category()): ?>
<h2>同一カテゴリーの投稿</h2>
<?php query_posts($query_string . “&order=DESC&orderby=date&showposts=-1″); ?>
<ul>
<?php if(have_posts()) : while (have_posts()) : the_post(); ?>
<a href=”<?php the_permalink(); ?>”><?php the_title(‘<li>’,'</li>’); ?></a>
<?php endwhile; endif; ?>
</ul>
<?php else : ?>
<h2>最近の投稿</h2>
<ul><?php get_archives(‘postbypost’, ’30’,’custom’ ,'<li>’ ,'</li>’); ?></ul>
<?php endif; ?>
</li>

項目名が「同一カテゴリーの投稿」でなく、カテゴリ名の表示にしたいと思い、下記のように書き換えました。

<li>
<ul><?php if (is_category()): ?>
<h2><?php single_cat_title(); ?></h2>
<?php query_posts($query_string . “&order=DESC&orderby=date&showposts=-1″); ?>
<ul>
<?php if(have_posts()) : while (have_posts()) : the_post(); ?>
<a href=”<?php the_permalink(); ?>”><?php the_title(‘<li>’,'</li>’); ?></a>
<?php endwhile; endif; ?>
</ul>
<?php else : ?>
<h2>最近の投稿</h2>
<ul><?php get_archives(‘postbypost’, ’30’,’custom’ ,'<li>’ ,'</li>’); ?></ul>
<?php endif; ?>
</li>

ついでにMovableTypeのブログのフォーマットの改善もしました。
コメント一覧の表示数を増やして従来、月日だけの表示を年月日の表示に変更しました。
月別投稿一覧にコメントも表示するようにしました。
投稿全てにカテゴリを表示させ改行し、投稿日(年月日時間も表示)とコメント投稿ボタンとで2行表示にしました。
月別投稿一覧の上部に前月(リンク付)、今月、次月のボタンを設置。

細かい改善ですが、かなり使いやすくなったと思います。

2015年12月3日

sidebar(左側のフレーム)でコメント一覧表示で投稿者の名前が長いと2行になり見栄えが悪くなるので、全角7文字まで表示するようにしたいと試行錯誤したのですが、なかなかうまくいきません。

<!–?php $author=substr(comment_author($comment_ID),0,7); ?–><!–?php echo $author ; ?–>
<!–?php $author=substr(comment_author(),0,7); ?–><!–?php echo $author ; ?–>
<!–?php mb_substr(comment_author(),0,7); ?–>

それでWordpressフォーラムに相談したら、comment_author は、その関数で出力を行ってしまうため、mb_substr などの関数を適用することはできなく、 get_comment_author を利用すれば文字制限できると教えていただけました。その場合は取得した値は、echo や print 関数などを用いて明示的に出力を行わないと表示されないということでした。

<!–?php $author = get_comment_author(); ?–>
・<!–?php comment_date(’20y/m/d’); ?–><!–?php echo mb_substr($author,0,7); ?–>

というふうにすると思い通りの表示になりました。

<h2>コメント</h2>
<ul class=”sidenavi”>
<?php
$comments = get_comments(array(‘status’ => ‘approve’, ‘number’ => 30, ‘type’ => ‘comment’));
$prev_link = “”;
foreach($comments as $comment):
$post = get_post($comment->comment_post_ID);
?>

<?php
$this_link = get_permalink($post->ID);
if( $this_link != $prev_link ) {
echo ‘

‘ . $post->post_title . ‘
‘;
}
$prev_link = $this_link;
?>
<?php $author = get_comment_author(); ?>
・<?php comment_date(’20y/m/d’); ?><?php echo mb_substr($author,0,7); ?>
<?php endforeach; ?>
<?php endif; ?>

 

Wordpressのブログに自作の動画を挿入する。

Wordpressのブログに自作の動画を挿入できないかと思い調べてみました。

プラグイン FLV embed をインストールして有効化します。

動画のファイル(flvファイル)を任意の場所にアップロードします。

仮にhttp://sample.com/douga/ というフォルダにrei.flvという動画ファイルをアップロードしてあるとします。

Wordpressの記事(投稿の編集)の中に

[flv:http://sample.com/douga/rei.flv 368 208]

と記入します。上記をそのままcopy&pasteはダメです。上記は文字列を表示するために余計な文字を入れ込んであります。

http://sample.com/douga/rei.flv  はアップロードした動画ファイルの絶対アドレスです。自分がアップロードした動画ファイルのアドレスとファイル名に合わせます。

368は動画の幅の値で、208は動画の高さの値です。こちらも自分の動画ファイルの値に合わせます。

最初は他のサイトからcopy&pasteで記入したので動画のウインドウが表示されなくて[flv:http://sample.com/douga/rei.flv 368 208]の文字列が表示されるだけでしたが、手動で記入すると動画のウインドウが表示されるようになりました。

先日、録画した月讀のパフォーマンスの画像を挿入してみました。
動画と同じ大きさで同じ名前の静止画(jpg)を動画と同じフォルダにアップロードしておくと、その静止画が画面の初期画面として表示されます。

Androidの端末ではFLASHに対応していないので見ることができないようです。

WordPressの複数設置をしてみました。

2015年6月6日

新しいブログを設置したいと思ったのですが、MovableTypeは無料使用の制限がきつくWordPressでの設置をしたかったのです。
でもWordPressはすでにkimassi.netの階層下に設置してあるので、他のドメインでの設置は無理があるのです。kimassi.netの階層より上(coreserverの自分の領域のpublic_htmlのフォルダ内の最上位)にWordPressを設置してれば、どのドメインにもブログを設置できたのです。

今回、syun.infoのルート階層下にもWordPressを設置して、データベースも増設することにしました。とりあえず、syun.infoのルートの位置にblogのフォルダを設置してインストールすることにしました。

WordPress最新版(バージョン4.22)、バージョン3.9.3のWordPressをインストールしたのですが、うまくいかなかったので、「きまっし金沢の雑記帖」で現在使っているバージョン3.6.1をインストールしました。
新たなWordPressをインストールするには、失敗して動作しなかった時に使ったデータベースは一度削除して、改めてデータベースを作成する必要があります。

wp-config-sample.php をダウンロードして、エディターで変更する。
データベース名にcoreserver.jpのDB/ユーザー名? に設定した内容を入力。ユーザー名にもcoreserver.jpのDB/ユーザー名? に設定した内容を入力。パスワードはcoreserver.jpのパスワードを入力。

define(‘AUTH_KEY’, ”);
define(‘SECURE_AUTH_KEY’, ”);
define(‘LOGGED_IN_KEY’, ”);
define(‘NONCE_KEY’, ”);
define(‘AUTH_SALT’, ”);
define(‘SECURE_AUTH_SALT’, ”);
define(‘LOGGED_IN_SALT’, ”);
define(‘NONCE_SALT’, ”);
の秘密の鍵の値をオンラインジェネレーターを使って入力する。

変更したwp-config-sample.phpをwp-config.phpとして保存し、wp-config-sample.phpがあった位置にアップロードしてwp-config-sample.phpを削除。

きまっし金沢の雑記帖で使っている、プラグイン(/wp-content/plugins)とテーマ(/wordpress/wp-content)をアップロードする。
ちなみに使っているプラグインはAddQuicktag,Akismet,Category Order,Commented entry list,Google Maps Anywhere,My Category Order,Link Manager,My Link Order,WP-PageNavi,WP Multibyte Patch,Dagon Design Sitemap Generatorです。

wordpress/wp-admin/ にアクセスしてデータベースの設定をする。
データベース名にcoreserver.jpのDB/ユーザー名? に設定した内容を入力。ユーザー名にもcoreserver.jpのDB/ユーザー名? に設定した内容を入力。パスワードはcoreserver.jpのパスワードを入力。設定項目を入力し、インストールをクリックする。

ログインして、外観・・テーマでテーマを選択。アップロードしたプラグインをすべて有効化する。

これで準備が完了です。

とりあえずは、今のところは非公開なので検索エンジンがサイトをインデックスできないようにするの設定にしました。

正常に動作しました。

coreserverのルート階層以外にWordPressを設置しても複数のブログを設置できる事を確認できたので、WordPressのプログラムを1つインストールして複数のブログを運営できるのか試してみました。

自分の希望としては、https://syun.info/ にホームページを設置して、https://syun.info/aaa/ とhttps://syun.info/bbb/ にブログを設置したいのです。
でもネットで調べるとWordPressの場合は、そのような設置はできないようです。

試しに、syun.infoのルートの位置に新たにフォルダを設けず直接WordPressをインストールしました。でも、syun.infoにアクセスすると、syun.infoのトップページではなく、ブログのページにアクセスするようになってしまいました。

WordPressの場合は、https://syun.info/ にホームページを設置して、なおかつ1つのWordPressで複数のブログを設置する場合は、https://syun.info/aaa/にWordPressをインストールすると、https://syun.info/aaa/とhttps://syun.info/aaa/bbb/にブログを設置するか、https://syun.info/aaa/bbb/とhttps://syun.info/aaa/ccc/に設置するかのどちらかの選択になるようです。

それで、WordPressをhttps://syun.info/blog/ にインストールしました。とりあえずは正常に動作しました。

結局、https://syun.info/blog/bbb/ と https://syun.info/blog/ccc/ にブログを設置することにしました。

wp-config.phpをダウンロードしてdefine(‘WP_ALLOW_MULTISITE’, true);  の1行を追加して、元の位置にアップロード。

WordPress管理画面でツール・・・ネットワークの設定 を選択します。
サブディレクトリを選択しインストールをクリックします。

WordPress管理画面でツール・・・ネットワークの設定 を選択します。
サブディレクトリを選択しインストールをクリックします。
画面の指示に従って wp-config.php と htaccess を書き換えます。

改めてログインして、WordPress管理画面で上部にある 参加サイト・・・サイトネットワーク管理者・・・ダッシュボード・・・新規サイトを作成

https://syun.info/blog/ の階層下に複数のブログを設置できました。階層下にあるフォルダと同じ名前のサイトは設置できません。 

一応、正常に動作したのですが、マルチサイト機能を使うと、プラグインに制約が多いようなので、WordPressのマルチサイト機能を使うのをやめました。

MovableType6へのバージョンアップが必要になった

2015年6月5日

MovableType5.2.7を使っているのですが、2015年9月30日に脆弱性対応が終了しているというので、Movable Type 6 へのアップグレードが必要になりました。MovableTypeのアップグレードをすると、なにかとトラブルが起きるので本当はしたくないんですけど。

前回同様、サーバーXREAでデータベースのバックアップを取っておきました。データベースの種類はMySQLです。
最初にシックス・アパートのトップページで個人向けライセンスの部分をクリックして最新のMovableType(個人無料版)をダウンロードしました。メールアドレスを記入して申し込むと、ダウンロードのURLとログインキーがメールで送られてきます。

前回は、今までのMovableTypeをアップロードしたフォルダとは別に新たなフォルダを設置したのですが、今回は同じフォルダに上書きすることにしました。

念のため、現在のMovable Typeのバックアップを取得。管理画面の「ツール」から取得できます。

MySQLをバックアップします。
MovableTypeのアップロードされたフォルダをFTPでバックアップします。
スタティックディレクトリ(mt-static)の内容をFTPで空にします。

解凍した新パッケージ内のMT6.08フォルダの内容をサーバー側のMTフォルダ以下の内容に、FTPなどで上書きして入れ替えます

バックアップから、構成ファイル (mt-config.cgi) をアップロードします。

ブラウザからMovable Typeの管理画面を開くと、「アップグレードしますか」と聞いてくるので「はい」と答えると自動アップグレードされます。
管理画面に下にバージョンが表示されているので、アップグレードが正しくされているか確認します

無事バージョンアップが完了しました。