• 解決済 narumi

    (@narumi)


    最近はじめてwordpressをいじり始めました。
    MTは理解しているので、テンプレートの作り方などスムーズに入れましたが、
    やはり完全新規のデザインに当て込む作業は、「wordpressのタグを知っている」だけでは厳しい感じでした。
    ↑合っていますか?

    MTに比べ、デフォルトで実装されている機能は少ない反面、多くを豊富なプラグインで補っている印象でした。
    それは構わないんですが、プラグインで表現できないデザイン調整などは、
    直にプラグインファイル自体をいじらないといけないケースが多いように思えます。
    つまり、MTだとプラグインの中身(peal)は書けなくてもなんとかなるのですが、
    wordpressの場合、phpの理解とphpによるコードの読み書きが必要そうだと感じています。
    ↑合っていますか?

    とはいえ、phpをどこまでやればいいものなのか、ちょっと悩んでいます。
    phpだけで参考書籍が何冊もでていますが、
    wordpressによるサイト構築にそのスキルがすべて必要なわけではないと思います。
    ↑合っていますか?

    どのあたりまで、という線引きは難しいと思いますが、
    参考になる書籍やサイトなどアドバイスいただきたく、
    よろしくお願いします。

15件の返信を表示中 - 1 - 15件目 (全23件中)
  • 何をしたいのかが明確にならない限り誰にも答えることは出来ませんよ・・・

    壁にぶち当たったらその都度聞く感じでやればいいと思いますが・・・

    デザインのことだけを言えば
    CSSとHTMLがわかっていれば
    それなりにいじれると思うのですが・・・

    何が出来ないのでしょうか?

    トピック投稿者 narumi

    (@narumi)

    ありがとうござます。
    まとまりのない文章ですみません。。。

    要はphpで詰まっています。
    いわゆる「最近のコメント」を表示したく、プラグインを導入したのですが、
    このプラグインが吐き出すhtmlでは、思い通りの形(デザイン)にすることができませんでした。
    よって、プラグインのファイル自体を書き換えて、任意のソースで吐き出されるようにトライしたところ、
    やはりphpのスキルが必須ではないかと思い、phpを勉強するにあたり、
    どの程度まで知っておく必要があるのか知りたいと思いました。

    とはいえ、プラグインファイルに書かれている内容がphpの難易度的に高いものなのか、
    比較的容易なのかも判別できないので、参考になるサイトや文献も判別できない、
    といった感じです。

    上記を踏まえて2点ご質問させてください。
    ・こういうケースではプラグインファイル自体を編集するのが、スタンダードと考えてよいでしょうか。
    ・プラグインファイルを編集するにあたり、参考になるサイトや文献がございましたら、アドバイス願います。

    モデレーター IKEDA Yuriko

    (@lilyfan)

    ・こういうケースではプラグインファイル自体を編集するのが、スタンダードと考えてよいでしょうか

    プラグインの出力をいじりたいなら、そうなりますね。
    でも、「他のプラグインを探す」のが、よりスタンダードに近いと思います。いまや「最近のコメント」を出せるウィジェットが標準装備されているため、プラグインでそういう表示を出すものは「実装が古い」部類に属します。したがって、そういうのは、あまり使わない方がよいです。

    ただし、ウィジェットの出力が気にいらない場合は、ウィジェットの中身をいじるのは好ましくありません。標準のウィジェットのコードを複製して、似た動作をする別のウィジェットを作る方がよいでしょう。

    この場合は、当然ながら、PHP および WordPress におけるウィジェット作成の知識が必要となります。

    正直なところ、WordPress のカスタマイズをやるんだったら、PHP の知識は必須になるでしょうね。テーマをいじる程度ならば必要ではないですが、テンプレートファイルは実質 PHP コードなので、PHP を理解していた方が無難です。

    プラグインファイルを編集するにあたり、参考になるサイトや文献がございましたら、アドバイス願います。

    WordPress のプラグイン開発に関する書籍はまだありません。ウェブの情報は、わたしが Codex の翻訳をすすめている最中です。「プラグイン・リソース」から情報を辿ってみてください。

    トピック投稿者 narumi

    (@narumi)

    ご丁寧なレスありがとうございます。

    > 標準のウィジェットのコードを複製して、似た動作をする別のウィジェットを作る方がよい

    こういう進め方を知りたかったので、為になります。
    とはいえ、phpのスキルが軽薄で実際にいじれるレベルではないので、なんだか厳しいそうな印象です。

    > WordPress のカスタマイズをやるんだったら、PHP の知識は必須になる
    やはりそうですか。
    phpを知らない人間はどうやってやっているのかも気になる点だったので解消できました。

    テーマの切り替えがとても容易なので、カスタマイズも簡単にできそうな第一印象でしたが、
    テーマの切り替えだけでは実際の仕事では対応しきれないケースが多いでしょうし、
    カスタマイズにphp必須となるとphp素人の私にはちょっと敷居が高くなりますね。

    最後に一点だけ。

    プラグイン開発というよりも、デザインに当て込む際に任意のソースコードで吐き出したい、
    という欲があるんですが、この場合はphp入門みたいな本を見ておけば、なんとかなるものでしょうか。
    一般的に入門レベルでできるものじゃないということであえば、
    私のとってカスタマイズするのはかなり困難なので、ご意見をいただきたくお願い申し上げます。

    WordPressを使って3年になりますが、PHPを覚える気すらありません(^^;;
    それでも、単に指定箇所にHTMLを吐く程度のプラグインや自作テーマなら個人的に書いて使っています

    私が使い始めた時のことを言うと
    HTMLとCSSで手でホームページ等を書いたことがあるのであれば、
    まずは、テーマ用のPHPファイルとにらめっこして、HTML部分だけをいじってみてどう変化するかを遊びながら見て、その前後にあるPHPの関数やら、wordpressで定義された関数やテンプレートタグをこcodexや、googleしていったりすれば、よいかもしれません。
    プラグインがつくりたいのに、なんでテーマをと思うかもしれませんが、テーマ用のファイルだってPHPのファイルなので徐々に繋がっていくと思います。

    トピック投稿者 narumi

    (@narumi)

    為になるご助言ありがとうございます。

    > PHPを覚える気すらありません(^^;;
    知らなくてもできるなんてすごいですね。。。
    うらやましい。

    > テーマ用のPHPファイルとにらめっこして、HTML部分だけをいじってみてどう変化するかを遊びながら見て
    今の私のやっていることといっしょでちょっと安心です。
    ただ、仕事となると納期もありますし、わけもわからずにらめっこして冷や汗かくのもちょっと恐いです。。
    実際にやってみてはいるのですが、
    裏付けるスキルがないので、かなり時間がかかりますし、建設的でないというか、安心できないというか。。。

    今の状態の不安を打ち消してくれるサイト様や参考書でもあれば、うれしいんですけどね。。。
    そんな都合良く無いですかね?

    テーマの中には独自の機能が付け加えられた物が結構あります。プラグインを用いたり、そのコードを取り込んで実現している物もあれば、テーマ作者が独自に書いたコードで実装していたりします。それらを見るのは結構勉強になりますよ。

    いわゆる「最近のコメント」を表示したく、プラグインを導入したのですが、
    このプラグインが吐き出すhtmlでは、思い通りの形(デザイン)にすることができませんでした。

    もっと具体的にどのプラグインでどんなコードでって書かないとおそらく皆さん具体的な助けようがないとおもうんですが・・・。比較的簡単なコードを少し足すだけでできそうな内容なんですけどね。(僕ができるかどうかは別として)

    hiromasaさんが昔書かれたWordPress のプラグインをつくるは良いですよ。

    トピック投稿者 narumi

    (@narumi)

    お付き合いありがとうございます!

    確かに他のテーマを見て作りを把握していくとノウハウもたまりますし、スキルアップの近道になりますね。
    ただ、「見る」為の基礎(php)があまりに乏しいので、
    プラグイン自体を作りたいというよりも、まずはそこを詰めているろころです。

    プラグインでちょっと悩んでいるのはプラグイン自体がHTMLを書き出すという点です。
    http://bono.s201.xrea.com/2006/07/174-blcomments/
    ↑こちらをそのまま使えば、最近のコメントは表示できます。
    が、そのままだとこのプラグインが書き出す要素しか表現できません。
    そこで、phpで書かれているプラグインファイルの中身を見ていき、
    ここだろうなという位置に記入者の名前やらを入れたりして試行しています。

    少し反れますが、
    以下のソースはほぼ同一のソースを吐き出します。
    ただ、MTあがりの私には、前者の方がわかりやすいんです。
    後者はさっぱりというか、中で何をしているか見えない印象です。
    前者は「ここはこれを表示して、ここはこれで」というのがはっきり明示されている感じです。
    ちょっと伝わりづらくてすみません。

    <ul>
    <?php query_posts('showposts=3'); ?>
    <?php while(have_posts()): the_post(); ?>
    <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
    <?php endwhile; ?>
    </ul>
    <ul>
    <?php wp_get_archives('type=postbypost&limit=3&format=html'); ?>
    </ul>

    できれば、最近のコメントも前者のように書きたいのですが、可能なことなのでしょうか。
    また、wordpress的には、前者と後者、どちらがスタンダードな表現方法なのでしょうか。
    任意のタグを挿入していきたいので、どの表現でも前者でいきたいのです。
    考え方がおかしい点とかないでしょうか。
    長くなって恐縮です。

    参考になるサイト、ありがとうございます!
    がっつり見ますっ

    モデレーター IKEDA Yuriko

    (@lilyfan)

    hiromasaさんが昔書かれたWordPress のプラグインをつくるは良いですよ。

    あとは Codex のプラグイン・リソースから関連情報を辿ってみてください。まだ翻訳が完了していませんが、順次行う予定です。
    hiromasa さんの文書は、とっかかりとしては悪くないのですが、そこからステップアップしようとすると、結局 Codex を見なければなりません。

    できれば、最近のコメントも前者のように書きたいのですが、可能なことなのでしょうか。

    query_posts() がコメントに対応していないので無理です。どうしてもデータベースにクエリを投げる必要があります。

    また、wordpress的には、前者と後者、どちらがスタンダードな表現方法なのでしょうか。

    公式にはどちらとも明言されていませんが、バージョン間の互換性を考えると、より高度な API (wp_get_archives など) を利用した方がよいと思います。データベースに直接アクセスするようにしてしまうと、DB 構造が変化すると動かなくなってしまいます。query_posts を使う場合は比較的互換性が保てると思いますが、「最近の投稿」をいじる他のプラグインと互換性が低くなります (アーカイブに関するフィルターを実行していないため)。

    ↑こちらをそのまま使えば、最近のコメントは表示できます。
    が、そのままだとこのプラグインが書き出す要素しか表現できません。

    この↓プラグインを使えばご希望の事ができると思います。はき出すHTMLを管理画面から細かくカスタマイズできる他、Word数だけでなく、文字数も指定できるので、マルチバイト環境でもOKです。

    WordPress › Get Recent Comments « WordPress Plugins

    Brian’s Latest Commentsは表示がシンプルなのが良いですが、機能もシンプルすぎるので個人的には最近全く使ってません。

    hiromasa さんの文書は、とっかかりとしては悪くないのですが、そこからステップアップしようとすると、結局 Codex を見なければなりません。

    おっしゃる通りです・・・。

    前者と後者ですが、lilyfanさんと同じく、wp_get_archivesの方がよいと思います。僕の理由はそれがその用途のテンプレート・タグだからです。アーカイブス用のテンプレート・タグが用意されているのだから、それを利用しない手はありません。その方がコードもすっきりします。あと、僕の経験上query_postsは必要なとき以外は使わない方が良いです。

    後者はさっぱりというか、中で何をしているか見えない印象です。
    前者は「ここはこれを表示して、ここはこれで」というのがはっきり明示されている感じです。

    後者のwp_get_archivesはWordPressのテンプレート・タグです。Codexはお読みになられたでしょうか?XHTML+CSSを理解されているのであれば、PHPの知識がなくてもこのCodexを読めば中で何をしているか明確に見えると思うんですが。

    トピック投稿者 narumi

    (@narumi)

    ありがとうございます。
    ご丁寧なアドバイスに感謝感謝です。

    早速ご紹介いただいたプラグイン入れてみます!
    あと、大切なのはCodexのページですね。
    タグ絡みで困ったときは、とりあえずここにいくように心掛けます。

    >アーカイブス用のテンプレート・タグが用意されているのだから、それを利用しない手はありません
    確かにそうですね。
    ただ、その吐き出すコードが制作者の意図しないものであった場合、
    それを変更するのが、今の私には敷居が高いことがわかりました。

    1点質問させてください。
    wp_get_archivesのようにタグを含めて吐き出すテンプレートタグを変更したい場合は、
    どうやってその吐き出し元を見つけるのででしょうか。
    少なくともCodexには書いていないようですが、
    たとえば、<li>にクラスをあてたい or <li>内のテキストを<span>で囲いたいといった場合は、
    通常はどういうフローになりますか。

    私が考えられる策としては、
    ・こういう場所で情報をいただく
    ・自分で時間をかけてphpファイルをひとつひとつあらっていく
    ・なんとかclassとかをあてないで見た目を表現できるようにがんばる
    くらいですが、正解はありますか。

    >経験上query_postsは必要なとき以外は使わない方が良い
    まだこの意図が理解できるスキルレベルではありませんが、
    深まるにつれ、わかっていければと思います。

    wp_get_archivesの詳細はご覧になりましたか?

    少なくともCodexには書いていないようですが、
    たとえば、<li>にクラスをあてたい or <li>内のテキストを<span>で囲いたいといった場合は、
    通常はどういうフローになりますか。

    この部分はwp_get_archivesのパラメータをお読み頂ければ解決方法が見つかると思います。
    wp_get_archivesだけではなく、パラメータ部分については他のテンプレートタグも同じパラメータがあり例文も色々載っているので、テンプレートタグを見ながら実際に打ち込んで見るのが早いと思いますよ。

    余談ですが、私はPHPについてはインクルードしか使えません。query_postsも例文のパラメータ部分を弄るぐらいで自分で書いたりは出来ません。つまりPHPはまったく書けません。
    ですが、Codexを見てテンプレートタグを使用しテンプレートを自作し、トップページに投稿カテゴリ毎に最新3件表示する、カテゴリー一覧には属する記事リストを冒頭に表示するなどやりたいと思ったことはほぼできてきました。
    要は…HTMLタグやCSSを覚える時と同じだと思います。
    Codexを読んで、作って、試行錯誤して、頑張ってみてください。投稿を読んだ限りではnarumiさんならすぐに馴染んでいけるんじゃないかなぁと思います。
    時間的制限もあるとの事なので、やりたい事がどうしてもテンプレートタグでは解決できそうにないなと感じたらその部分をピックアップして今回の様に皆さんに聞いてみてはどうでしょうか?

    トピック投稿者 narumi

    (@narumi)

    ご親切にありがとうございます。
    とても為になります。

    経験値としては雲泥の差ですが、
    同じような境遇を理解していただけるとちょっと安心します。

    パラメータの部分読みました。
    が、どれをどう使うと思いとおりになるのか、ちょっとわかりませんでした。
    ひょっとしたらパラメータの設定でclassを加えたりできるのでしょうか。

    ・liに任意のクラス
    ・li内のテキストリンクをspanで括る

    上記2パタンの書き方をお教えいだけえないでしょうか。
    wp_get_archivesというような記述のテンプレートから任意の形で吐き出せる方法が解れば、
    wp_list_categoriesなどの他のテンプレートでも応用できそうですし、かなり幅が広がりそうです。
    ヒントでも構いません。

    しかし、そもそもパラメータの設定だけでは無理だよ、
    ということであれば今回は見送ります。

    どうぞよろしくお願いします。

    ヒント形式となりますが・・・

    format
    (文字列) アーカイブリストの形式。有効値:

    * html (初期値) – HTML のリストタグ(
    <li>)と before・after の文字列。
    * option – セレクトボックスまたはドロップダウンメニュー用のセレクトタグ(<select>)内のオプションタグ(<option>)。
    * link – リンクタグ(<link>)内に。
    * custom – Custom list using the before・after の文字列を用いたカスタムリスト。

    今回narumiさんが変更したい部分は上記部分に該当します。
    html(初期値)とある部分を見てください。
    初期値、ですのでwp_get_archivesを使用しなおかつformatというパラメータを指定していない場合この初期値部分が書き出されます。
    初期値部分には「HTML のリストタグ(<li>)と before・after の文字列。」と書いていますので、wp_get_archivesで出力されるものは<li>タグに囲まれた各記事へのリンク、となります。
    <?php wp_get_archives(); ?>
    と記述した場合には

    <li><a href="該当記事URL">該当記事タイトル</a></li>
    <li><a href="該当記事URL">該当記事タイトル</a></li>
    <li><a href="該当記事URL">該当記事タイトル</a></li>

    となります。

    それで、naomiさんのやりたい事というのが<li>にclassを追記する、
    もしくは<li>の後に <span> を入れたい、ですよね。
    formatの説明中に該当する箇所は

    * html (初期値) – HTML のリストタグ(<li>)と before・after の文字列。
    * custom – Custom list using the before・after の文字列を用いたカスタムリスト。

    この2つになります。
    html(初期値)であれば・・・・<li>(beforeで指定した文字)<a href="該当記事URL">該当記事タイトル</a>(afterで指定した文字)</li>
    となるし、customの場合・・・・
    (beforeで指定した文字)<a href="該当記事URL">該当記事タイトル</a>(afterで指定した文字)
    となるからです。

    spanを追加したい場合にはhtml(初期値)を使用し、classを追加したい場合にはcustomを使用します。
    beforeとafterについてはこのテンプレートタグ部分で英文のままですが、他のテンプレートタグでは日本語訳になっていたと思いますので、見比べてみて下さい。
    後は…テンプレートにとりあえず書き出してみて表示させ、該当部分のソースをチェックして変化を試してみる、のがいいかと思います。

    うーん、参考にするにはCodexさんがあるしと思ってましたが、自分が使った範囲だけでも例をまとめた記事とか作ってみようかしら…

    トピック投稿者 narumi

    (@narumi)

    ありがとうございます!
    できた気がします!

    spanでくくる場合↓
    <?php wp_get_archives('type=postbypost&limit=20&format=html&before=<span>&after=</span>'); ?>

    liに任意のクラスでさらに中身をspanでくくる場合↓
    <?php wp_get_archives('type=postbypost&limit=20&format=custom&before=<li class="AAA"><span>&after=</span></li>'); ?>

    ここっ、これで、できた気がしますが、
    間違ってないでしょうか。
    説明がすごくわかりやすくて、とんちんかんな私にも理解できました!
    感動です。。。(涙)

    例をまとめた記事とか作ってみようかしら…

    ぜひっ。
    初心者なのにちょっと偉そうですが、
    あのCodexの説明はnornorさまのご説明と比較すると、
    あまりに言葉足らずな印象でした。

15件の返信を表示中 - 1 - 15件目 (全23件中)
  • トピック「wordpressによるサイト構築で必要なスキル」には新たに返信することはできません。