サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
アメリカ大統領選
www.sandalot.com
最近の制作において、テーブルの見出しセル内のテキストを均等割付を求められたことがありました。 普通のHTML+CSSでは、均等割付が簡単に出来るタグやプロパティなどはありません。 それを実現するには、CSSのletter-spacingを使うという方法になります。 ただ、これを手動でやろうとすると、ボックスの幅と文字のサイズを確認して、letter-spacingに設定するピクセル数を算出して、HTML+CSSを書いて、調整して・・・とかなり大変です。あまり現実的ではないのではないかと思います。 それを実現してくれるのが、jQueryプラグイン『jQuery.justify.js』です。 ⇒ jQuery.justify.js 情報ページ コード例 コードの記述は、HTMLとCSSとjQueryを書いたことがある方なら、すごく簡単です。 まずHTMLのbodyタグ内に以下の記述があるとしま
例えば「news」というカスタム投稿データを取得する場合。 query_posts(array('post_type' => 'news')); または $post_list = get_posts(array('post_type' => 'news')); query_postsはメインループを書き換えてしまうから、使う時は気を付ける。(wp_reset_query()も適宜使用する。) query_postsでデータを取得したら、 have_posts() で、投稿データが存在するかどうかを確認。 the_post() で、投稿データをロード。(要するに、画面に表示出来るようにする。) 実際にはこんな風に使われる。 <?php while ( have_posts() ) : the_post(); ?> ~ いろいろ処理 ~ <?php endwhile; ?> get_posts
当サイトでメルマガ発行プラグイン「Subscribe2」の日本語化ファイルを公開していましたが、私自身はここ最近はあまり積極的に触れていませんでした。 で、気付けばいつのまにかv9.2になっていたのですね。 気付かない間にかなり進んでいました。 というわけで、このバージョンに対応した日本語化ファイルをリリースしました。但し不完全です。 ⇒subscribe2_92-ja.zip(ダウンロードページへの直接リンクはされないようお願いいたします。) 解凍して頂くとテキストファイルreadme.txtと.moファイル、.poファイルが存在しているはずですので、.moと.poをwp-content/plugins/subscribe2/フォルダに保存してください。それだけでインストールは完了です。 不完全な件 先ほど、不完全と書きましたが、実は訳も機能も現在のところ理解出来ていない部分があります。
WordPressの標準テーマ「Twenty Twelve」は、レスポンシブの機能の一つにメインメニューのボタン化があります。 これが好ましくない場合もあると思いますので、構造的にはレスポンシブには対応したまま、メニュー部だけボタン化させない方法をご紹介いたします。 600px以上のメニュー動作を指定しているCSSコード Twenty Twelveは、600px未満の記述を基本にしたうえで、メディアクエリーで600px以上の記述をしています。 つまり、メニューの標準状態はボタンであるということです。その記述はstyle.cssの578行目の「/* Navigation Menu */」から604行目までです。 578 : /* Navigation Menu */ 579: .main-navigation { ~ 603 : display: inline-block; 604 : }
Webサイトを制作していて、固定ページ毎にデザインを変えたい場合があります。 当サイトも、構造的にWebセクションとMusicセクションで分けていますが、それぞれ色を変えています。 というわけで、いくつかの方法がある中から、比較的使いやすい方法を2つ程書いてみたいと思います。 body_class関数を使う WordPress標準テーマのTwenty Ten、Twenty ElevenやTwenty Twelveでも使われている方法です。 というか、WordPressならこれを使うのが基本的な方法なのではないかと思います。 まず、bodyタグ部分に、以下のようにbody_class関数を追加します。 <body <?php body_class(); ?>> これだけで、bodyタグのclassに「home」とか「single」とか「post」「page」などが設定されます。以下が、実際に
WordPressを導入する際には、セキュリティ的にデータベースのプレフィックスを標準の『wp_』から別なものに変更した方が良いです。 これはインストール時に設定出来ます。インストール画面の『テーブル接頭辞』というものです。 この設定は、WordPressフォルダ内の『wp-config.php』内で行っています。 で、ここからが本題。 これをインストール時に設定してしまえば良いのですが、インストール後に変更したいという場合もあります。 ここで、wp-config.phpを編集して、データベースのテーブル名を変更して、というところまでは判るのですが、それだけだと『このページにアクセスするための十分なアクセス権がありません。』と警告メッセージが表示されてしまいます。 というわけで、その対処方法も含め、最初から手順を書いてみたいと思います。 1. wp-config.pnpを編集する wp-c
カスタム投稿(カスタムポスト)をWordPressに簡単に追加するためのプラグイン「Custom Post Type UI」と、関連記事を表示させるためのプラグイン「Yet Another Related Posts Plugin」(YARPP)を併用している場合、カスタム投稿に関連記事が上手く表示させられない、という状況になり困ったことはないでしょうか? 私はかなり前からいくつかのサイトでそのような状況に陥っており、別な方法で対処することしか出来ていませんでした。が、最近になりようやく解決できました。 というわけで、結構苦労しましたし、あまりこの件は他の方の記事になっていなそうなので、それを書いてみたいと思います。 解決方法は とりあえず結論から。 私の場合だけかもしれませんが、Custom Post Type UIでカスタム投稿を追加すると、Yet Another Related Po
一般公開 カスタム投稿ページを表示するかどうかです。 ここをTrueにすると誰でも閲覧でき、Falseにするとページを開こうとしても404エラーになります。 Falseの場合、管理画面にすら表示リンクが表示されなくなります。 UIを表示 管理画面左メニューに、カスタム投稿タイプを表示するかどうかです。 Trueにすると表示されます。 Falseにすると表示されなくなります。 Has Archive 『archive-(投稿タイプ名).php』という名称のテーマファイルを使用するかどうかを設定します。 せっかく『archive-(投稿タイプ名).php』を作っても、ここをTrueにしないと有効になりません。(結構ハマるので要注意です。私は長時間ハマりました。) Exclude From Search WordPressサイト内検索の結果に含めるかどうかを指定します。 Falseにすると検索結
WordPressには記事を書いてから即時公開せず、特定の時間に記事を公開する予約投稿という機能があります。 が、それを設定しておいても何らかの原因で失敗することが多いようです。その対処法については、Google等で検索すると多数のサイトが発見できます。 ただ具体的・根本的な原因などの情報は非常に少ないように思いました。 というわけで、今回はその原因を究明するためWordPressのソースを読んでみました。 かなり開発者向けの記事だと思います。 WordPressのCRONとwp-cron.php WordPressではCRONジョブ(毎時、毎日のように定期的にサーバーに何らかの動作を行わせる設定)を擬似的に行なう機能があります。 通常CRONジョブというとサーバーの設定で行います。 が、サーバーによってはそれが設定出来ない場合もあるので、WordPressがその機能を実装してくれていると
自分でサーバー構築してWordPressをインストールすると、プラグインのアップデートなどの際にFTP関連設定を入力しなければいけなくなる場合があります。 『要求されたアクションを実行するには、WordPress が Web サーバーにアクセスする必要があります。』と出てくるあの画面のことです。 私の場合は作業用Mac、いわゆるMAMP環境でそういったことが起こりました。(そういう方が多いらしいですね。) それについての対処法を色々調べた結果、3つほど発見したので、それをご紹介。 chownでWordPressファイルのオーナーを変更する 問題の画面は、スクリプトの実行ユーザーとファイルやフォルダを作成した際のオーナーが異なることにあるそうです。 もう少し具体的には、『wp-admin/includes/file.php』の中で、まず仮のファイルを作成し、そのオーナー(つまりUID)をfi
WordPressの管理画面でユーザーを追加した時に、「ユーザーが追加されました!」などという投稿をしたい場合がたまにある。それを自動的に行う方法。 以下のように、アクションフック『user_register』にコードを追加する。 function auto_post($user_id) { $user_info = get_userdata($user_id); $my_post = array(); $my_post['post_title'] = 'ユーザーが追加されました!'; $my_post['post_content'] = $user_info->first_name.'さんが追加されました。'; $my_post['post_status'] = 'publish'; $post_id = wp_insert_post( $my_post ); } add_action(
最近の制作において、新規に投稿した時に別なカスタム投稿タイプも同時に追加、という動作が必要なことがありました。 ここでいくつか迷った件があったのでそれを書いてみたいと思います。 投稿時のアクションフック WordPressで投稿する際に使えるアクションフックには以下のようなものがあります。 edit_post save_post wp_insert_post あと、関連のWP関数としては『wp_publish_post($id)』というのがあります。これは、引数に与えたIDの記事を公開にする関数です。これが呼び出された時には上記のアクションフックが順に呼び出されます。 最初、上記のアクションフックの中で知っていたのがedit_postとsave_postの2つだったので、まず前者を使って以下のような関数をfunctions.phpに記述しました。 function modify_movie
制作したWordPressテーマに独自のウィジェットを追加したい時があります。これについては、検索しても情報が少ないので、当サイトでも書いてみようと思います。 以下はそのためのコード。functions.phpにコピー&ペーストするだけで、テキストのみをシンプルに追加するウィジェットを追加できます。 class AddWidgetItem extends WP_Widget { function AddWidgetItem() { $widget_option = array('description' => '入力したテキストを表示するだけのウィジェットです'); parent::WP_Widget(false, $name = 'テキスト表示ウィジェット', $widget_option); } function form($instance) { $body = esc_attr($
前回は3つのアクションフックを紹介しましたが、今回は2つ。 wp_dashboard_setup 管理画面のダッシュボードを表示する時に呼び出されるアクションフックです。 下記のコードではダッシュボードに、タイトル部が『ようこそ』、コンテンツ部が『お疲れ様です。』という表示のダッシュボードウィジェットが追加されます。 function dashboard_widget_function() { echo "お疲れ様です。"; } function add_dashboard_widgets() { wp_add_dashboard_widget('dashboard_widget_welcome', 'ようこそ', 'dashboard_widget_function'); } add_action('wp_dashboard_setup', 'add_dashboard_widgets'
そんなに難しい話では無いですが、ごく最近ちょっと手間取った(力不足なだけ・・・)ので、自分用のメモ。 フォームでselectを使っている場合に、ページ内で何かの操作をした時にselectタグの子要素になるoptionの内容、要するに選択項目を書き換えたいという時が結構あると思います。 optionの追加はprepend(選択黒目の先頭に追加)またはappend(選択黒目の末尾に追加)を使います。これについては結構情報も多かったので問題は無いと思いますが、削除についての情報は少ない気がしました。 というわけで、選択項目を削除する時のコードをいくつか。 選択項目を一つだけ削除する場合 まずはこんなコード。『id=area』という指定がされているselectタグがあるとします。 $('select#area option:first-child').remove(); 『first-child』
以前、WP関数wp_insert_post内で使われているアクションフックについて書きましたが今回はフィルターフックについてです。 完璧に理解したわけでも無いので、判った範囲です。 フィルターフック『wp_insert_post_empty_content』 記事の新規追加または更新時に投稿のタイトルや内容が空かどうかを確認する部分で使われています。 WordPressでのサイト制作時に使うことはあまり無さそうです。 フィルターフック『wp_insert_post_parent』 恐らく親記事のIDの設定をしているということだと思います。 使う時はこんな感じ。 function post_function($post_parent, $post_id){ //処理 return $post_parent; } add_filter('wp_insert_post_parent', 'pos
get_postsで、投稿に含まれるカスタムフィールドをキーにして投稿を検索・取得する場合、一つのカスタムフィールドだけなら、『meta_key』『meta_value』を使って、以下のコードで可能。 $args = array( 'post_type' => 'post', 'meta_key' => 'subtitle', 'meta_value' => '(キーワード)' ); $post_list = get_posts( $args ); また『meta_compare』というパラメータを使って、比較演算子を変更することも可能。デフォルトは『=』。例えば「値が含まれている場合」というような条件を付けたい時は以下のように、『meta_value』は『null』、『meta_compare』は『!=』にする。 $args = array( 'post_type' => 'post',
WordPressの便利な機能の一つとしてマルチサイト機能があります。 WordPressを一つインストールして、それなりの設定をするだけで複数ブログが追加出来てしまうものです。(それなりの設定が少し面倒ではありますが。) 設定においては『wp-config.php』や『.htaccess』に記述を追加する必要があります。 その際の注意点も含め、設定について順を追って書いてみたいと思います。 ここではサブディレクトリの方法のみ書きます。 1. wp-config.phpにWP_ALLOW_MULTISITEを設定 まず最初に以下の行をwp-config.phpに記述します。 define (‘WP_ALLOW_MULTISITE’, true); wp-config.phpの慣習的には『/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */』という行
the_excerptで出力される文字数を変更したいなと思うことって結構多いと思うんですが、以前に以下のようなコードをfunctions.phpに記述することで対応しようとしていて躓いたことがあります。 function change_excerpt_length( $length ) { return 55; } add_filter( 'excerpt_length', 'change_excerpt_length' ); これについては以前「the_excerpt」の文字数でも記述しました。 WordPress標準テーマ『Twenty Eleven』のfunctions.phpにも同様のコードが記述されています。 ただ、これだけだとうまくいかないんですよね。『return 55;』のところの数値を変更しても文字数が変化しません。 というわけで、その原因と対応方法を2パターンほど。 最
このページを最初にブックマークしてみませんか?
『ホームページ制作・WordPress・音楽制作・DTMレッスン - sand a lot Web & Music C...』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く