記事の並び順が古い日付順(昇順)になるときの対処

WordPress

もーここんとこ仕事でWordpressにつきっきりだけど、もうそろそろ終われそう。

記事一覧表示の時に、記事の表示順が古い日付順になってしまう現象にぶつかり、解決するのに四苦八苦したのでメモ。

記事の一覧表示を呼び出すときは

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
・・・・・・
<?php endwhile; endif; ?>

で表示をするけど、それだとうちの会社のサーバーでは古い日付順に表示されてしまう。
ローカルの環境だとちゃんと新しい順に表示されるのでさーこまった。

そこで<?php query_posts() ?>という関数を使う。
これは呼び出す記事のあれこれを設定する関数らしい。
これを

<?php query_posts(‘order=DESC’); ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
・・・・・・
<?php endwhile; endif; ?>

と使うことで新しい日付順(降順)で表示することができる。

デフォルトで新しい日付順に表示されるようになってらしいのに、うちの会社のサーバーではそうはいかない。
なんでやねーんorz

Wordpresのエディター画面のクラスを変える

メモ

なんてタイトルにして良いのかよくわかんないけどメモ。

エディター欄

枠で囲った箇所の、ていうか<body>のクラスを変更する方法です。

/wp-include/js/tinymce/tiny_mce.js

の中にある「<body class=”mceContentBody”」の表記を「<body class=”mceContentBody entry”>」に変更。
これで、エディター用にCSSにクラスを足すことなくエディター内で記事内のCSSを適用することができる。

エディターにCSSをあてるにはこれとは別に

/wp-include/js/tinymce/tiny_mce_config.php

を変更する必要あり。

あとでもうちょっとちゃんと書きます。たぶん。

投稿スラッグでページを表示する方法

WordPress

おひさしぶりかまです。
もうすっかり桜も散ってしまいましたのー今日は暖かい!
今さっき新幹線の乗車券を買いに、会社から鶴間公園まで自転車で行ったのだけど、汗かいたよ。あっついあっつい。

WordPressで「投稿スラッグに入力したキーワードでページを呼び出す方法」を知った。
ので、忘れないうちにメモしておく。

記事の場合 http://www.sacnoha.com/?name=abebe
ページの場合 http://www.sacnoha.com/?pagename=abebe

このアドレスで投稿スラッグが「abebe」となってる”ページ”を呼び出すことができる。
この記事のスラッグを「abebe」にしたので呼び出せるはず → クリック

これで、

  • お問い合わせページへのリンクとかなんかそういう固定リンクに「/?page_id=2」って書かなくても「/?pagename=inquiry」とか書けてわかりやすい。
  • ページIDがいくらずれてもスラッグさえ合っていればリンク切れにならない。

とかなんとかで便利そう。次のサイト制作に使いたい。
ただ、投稿スラッグがかぶるとどうなるのか・・・たぶんダメなんだろうな〜気をつけないとな〜。

ちなみにページで、例えば会社概要の子ページとして社長挨拶があった場合、

・会社概要(スラッグ:company)
・┗社長挨拶(スラッグ:greeting)

社長挨拶へのリンクは”http://www.sacnoha.com/?pagename=company/greeting”になるみたい。

パーマリンクの設定を変えるという方法もあったけれど、これをやると全てのページでスラッグをつけなきゃならくなるので大変。
固定リンクのためだけに使うのであればこの方法がいいのかな。

WordPressの画像URLの書き換え

WordPress

WordPress使用したサイトで公開URLを変えるときのメモ。
サイトURLはWordpressの各種テーマでできるけど、画像のURLはアップロードしたときのままになってしまう。
たとえば、IPアドレスでサイトを準備し、正式なURLで公開とした場合、サイトの部分部分で古いURLが出てくる。
これをなんとかしたいときのメモ。

データベースで書き換えるのは「記事に書かれている画像タグ」と「画像をアップロードしたときに登録される画像のURL」の2カ所。

記事に書かれている画像タグの書き換え

記事に画像が入っている場合、imgタグやそのリンクタグが古いURLのままになってしまう。
記事のデータは「wp_posts」の中の「post_contet」の中にあるので次のSQL文でURLを書き換える。

update wp_posts set post_content=replace(post_contet,’古いURL’,’新しいURL’)

画像をアップロードしたときに登録される画像のURL

画像をアップロードするときに登録されたURLはWordpressの管理画面から書き換えられそうで書き換えられない。
この画像のURLは「wp_posts」の中の「guid」にある。

update wp_posts set guid=replace(guid,’古いURL’,’新しいURL’)

これで書き換え完了・・・のはず。

WordPressのエディターにテーブル編集機能をつける

WordPress

WordPressについているエディターtinymceにテーブル編集ボタンを追加する、というやつ。
簡単そうで意外と難しい(自分だけ?)。
探し方が悪いのか、なかなか解説しているサイトもなくって、あれやこれや探し回ってやっとわかった。ので覚え書。

この方法で追加できるのはどうやら2.1.*系だけのよう。

編集するファイル

  • wp-include/js/tinymce/tinymce_config.php

用意するファイル

  • テーブルプラグイン本体

まず、wp-include/js/tinymce/tinymce_config.phpを編集。
28行目あたりの”$plugins”のところに”table”と追記。

ex.
$plugins = array(・・・(省略)・・・, ‘table’);

次に、35行目の”$mce_buttons_2″にも”table”と追記。
ここに入力すると二段目のボタン表示欄にテーブルのボタンが表示される。

ex.
$mce_buttons_2 = apply_filters(‘mce_buttons_2’, array(‘table’));

テーブルプラグインを入れる

これが入ってないといくらボタンを足しても意味ないです。
なんとなくわかってたけど、この段階で結構四苦八苦した。

テーブルプラグインはWP付属のtinymceには入っていないため、tinymce本家のサイトからtinymce本体をダウンロードします。
/plugins/tableにあるので、tableフォルダごとwp-include/js/tinymce/plugins/にコピーします。

これで完了!
あとは好きなボタンをつけるなりつけないなり自由。

テーブルボタン
こんな感じで。

table以外にもいろいろあれこれとテーブル関連のボタンをつけれるんで、それはマニュアルを見るべし。
最初、英語読めないのにがんばって英語のtinymceのマニュアルを読んでやってたんだけど、どうしてもできないんよね。
なんでってプラグインにtableが入ってなかったからなんだけど、これtinymceに書いてないのはともかくWPのマニュアル(英語)にも書いてないような書いてあるような。ていうか英語わからんですorz

もっとわかりやすく書いてほしいぞ!

日本語tinymceマニュアル(テーブルのとこ)

アウトドア&フィッシング ナチュラム

こちらもどうぞ