WordPressテーマ作成記録

自家製CSSフレームワーク“Komitsuboshi-css”を使ったWordPressのテーマを作成することにしました。

CSSフレームワークの作成当初から、WordPressでも使いやすいように、というのを意識していたため、その動作テストも兼ねています。

実際にテーマに組み込んで組み立ててみたら、いろいろとバグが見つかったのですが、それもつぶすことができたので、こんどはWordPressの公式ディレクトリへ登録できるようにさらに修正作業です。

Theme Checkプラグインを入れてテストを行ったところ、予想通り大量のエラーが。

現時点では以下の通り。

  • 必須: テーマの css には .sticky の css クラスが必要です。
  • 必須: テーマの css には .gallery-caption の css クラスが必要です。
  • 必須: テーマの css には .bypostauthor の css クラスが必要です。
  • 必須: テーマ CSS 中に CSS クラス .screen-reader-text が必要です。Codex で実例を参照してください。
  • 必須: サイドバーは、独自の関数を widgets_init アクションにフックさせて登録しなければなりません。register_sidebar() をご覧ください。
  • 必須: このテーマはタグを表示していないようです。適切な場所にタグを表示するように変更してください。
  • 警告: スクリーンショットが検出されませんでした。 screenshot.png または screenshot.jpg を含めてください。
  • 警告: .git .gitignore 隠しファイルもしくは隠しフォルダ が見つかりました。
  • 必須: 管理バーを非表示にすることはできません。
  • 必須: 待機状態のコメント返信のスクリプトを見つけることができません。プラグインとテーマの移行/2.7/Enhanced Comment Displayをご覧ください。
     <?php if ( is_singular() ) wp_enqueue_script( "comment-reply" ); ?>
  • 必須: テーマに投稿ペジネーションのコードがありません。投稿ペジネーションを追加するには posts_nav_link()paginate_links()the_posts_pagination()the_posts_navigation()next_posts_link()previous_posts_link() のいずれかを使ってください。
  • 必須: テーマで wp_title() を呼び出すことはできません。
  • 必須: コンテンツの幅が定義されていません。例:
    if ( ! isset( $content_width ) ) $content_width = 900;
  • 必須: アップロードする前に、ZIP ファイルから .git や .svn などの無関係なディレクトリを取り除いてください。
  • 必須: このテーマは標準的なアバター関数をサポートしていないようです。サポートするにはget_avatar、またはwp_list_commentsの関数のどちらかを用いてください。
  • 必須: このテーマにはコメントのページ送り用のコードが含まれていません。paginate_comments_links()the_comments_navigationthe_comments_paginationnext_comments_link()previous_comments_link() のいずれかを使ってコメントのページ送りを追加してください。
  • 必須: This theme text domain does not match the theme’s slug. The text domain used: このテーマの正しいスラッグとテキストドメインは ki-orion です。
  • 必須: The theme must not used the <title> tags.
  • 必須: No reference to add_theme_support( “title-tag” ) was found in the theme.
  • 必須: wp_list_comments が見つかりません。wp_list_comments
     <?php wp_list_comments( $args ); ?>

    を参照してください。

  • 必須: wp_link_pages が見つかりません。wp_link_pages
     <?php wp_link_pages( $args ); ?>

    を参照してください。

  • 必須: post_class が見つかりません。post_class
     <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

    を参照してください。

  • 必須: comments_template が見つかりません。comments_template
     <?php comments_template( $file, $separate_comments ); ?>

    を参照してください。

  • 必須: comment_form が見つかりません。comment_form
     <?php comment_form(); ?>

    を参照してください。

  • 必須: body タグ内の body_class 呼び出し が見つかりません。body_class
     <?php body_class( $class ); ?>

    を参照してください。

  • 必須: add_theme_support( ‘automatic-feed-links’ ) が見つかりません。add_theme_support
     <?php add_theme_support( $feature ); ?>

    を参照してください。

  • 推奨: テーマ内にファイル readme.txt が見つかりませんでした。 詳しくはテーマドキュメンテーション (英語) をご覧ください。
  • 推奨: テーマ内に add_theme_support( “custom-header”, $args ) への参照が見つかりません。テーマでヘッダー画像を使う場合は、この機能を実装することをおすすめします。
  • 推奨: style.css のヘッダー内で Tags: が空になっているか、含まれていません。
  • 推奨: the_post_thumbnail() 関数への参照がテーマ内に見つかりませんでした。サムネイル向けのカスタムフィールドを使うよりも、この関数を使って機能を実装することをおすすめします。
  • 推奨: add_theme_support( “custom-background”, $args ) が見つかりません。テーマで背景画像または単色を指定する場合、この機能を実装することが推奨されています。
  • 情報: 印刷可能でない文字がファイル home.php で見つかりました。このファイルのエラーをチェックしたほうがよいかもしれません。
    行5: <h2 class='col-12'>新着記事</h2>
    行17: <h2 class='col-12'>����������</h2>
    行20: 'category_name'	=> '������' ,
  • 情報: 1つのテキストドメインがこのテーマ内で使用されています。テーマが WordPress.org の言語パックと互換性を持つよう、テーマのスラッグと一致しているかを確認してください。
    見つかったドメインは です

つぶせるところから一つずつ処理していきます。(続く)