投稿者: buff

  • 在庫管理できるのか

    WordPressで在庫管理はできるのか

    WP Inventory Manager というプラグインがあるのでテスト使用してみる

    使用方法は下記を参照

    設定

    プラグインを作る方がいいかな

    CSVを読み込めるようにしたほうがいい

    商品コード:
    メーカー:
    商品名:
    商品状態:
    取扱店舗:この商品は、〇〇店で取り扱っています

    ■ 有効時に
    カテゴリー[店舗名]を追加
    パーマネントリンク構造を変更

    商品画像を選択するにはどうすればいいの?

    WordPressの自作プラグインで画像選択して使用したい

    中立的な見地のないジャーナリストの存在価値って何だろう
    仮に達成できなかったとしても、貫き通さなければならない部分な訳よ
    妥協をしてはならない部分だろ
    働いて金を稼ぐ何が悪いんだろう。老害死すべし


    投稿処理

    // 投稿処理
    function handle_custom_post_submission() {
        if (isset($_POST['custom_post_submit'])) {
            // セキュリティチェック
            if (!isset($_POST['custom_post_nonce']) || !wp_verify_nonce($_POST['custom_post_nonce'], 'custom_post_action')) {
                return;
            }
    
            if (!current_user_can('publish_posts')) {
                return;
            }
    
            // 入力を取得
            $title = sanitize_text_field($_POST['custom_post_title']);
            // 商品説明
            $content = wp_kses_post($_POST['custom_post_content']);
            // 商品コード
            $slug = sanitize_text_field($_POST['custom_post_code']);
            $store_category = sanitize_text_field($_POST['store_category']);  // 店舗カテゴリー(例: '新宿店')
            
            // 店舗名(親カテゴリー)を取得
            $parent_category = get_term_by('slug', 'store', 'category');
            // 親カテゴリーが存在する場合
            if ($parent_category) {
                // 子カテゴリーのIDを取得
                $child_category = get_term_by('name', $store_category, 'category');
                
                // 子カテゴリーが見つかれば、そのIDをカテゴリーに設定
                if ($child_category) {
                    $categories = array($child_category->term_id);
                } else {
                    $categories = array(); // 子カテゴリーが見つからない場合は空にする
                }
            } else {
                $categories = array();  // 親カテゴリーが見つからない場合は空にする
            }
    
            // 投稿作成
            $post_data = array(
                'post_title'   => $title,
                'post_content' => $content,
                'post_status'  => 'publish',
                'post_author'  => get_current_user_id(),
                'post_category' => $categories,  // カテゴリーを設定
                'post_name'     => sanitize_title($slug),  // スラッグを設定
            );
    
            wp_insert_post($post_data);
    
            // リダイレクトして再投稿を防ぐ
            wp_redirect(admin_url('admin.php?page=stock-items&success=1'));
            exit;
        }
    }
    add_action('admin_init', 'handle_custom_post_submission');
    
  • グリッドレイアウト

    グリッドレイアウトについて考える

  • 基本HTMLサンプル

    bootstrap とjqueryを使用する感じのひな型だと下記の感じでしょうか

    <!DOCTYPE html>
    <html lang="ja">
    <head>
        <title>サンプルページ</title>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width,initial-scale=1">
        <meta name="format-detection" content="telephone=no">
        <meta name="description" content="">
        <meta name="author" content="Unique Vision Productions">
        <link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css' type='text/css' media='all' />
        <link rel='stylesheet' href='./css/style.css' type='text/css' />
        <script type='text/javascript' src='https://code.jquery.com/jquery-3.6.0.js' id='jquery-js'></script>
    </head>
    
    <body>
    <header>
    </header>
    
    <main>
    </main>
    
    <footer>
    </footer>
    
    <script type='text/javascript' src='https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js' id='my-js-popper-js'></script>
    <script type='text/javascript' src='https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js' id='my-js-bootstrap-js'></script>
    </body>
    </html>
  • 基本 SCSS設定

    下記の感じで良いかなと思う。

    @use 'partials/_default';
    // デフォルト設定
    * {
        // ブラウザによって固有の設定等があるので初期化
        margin: 0;
        padding: 0;
        border: 0;
        font: inherit;
        font-size: 100%;
        vertical-align: baseline;
        // padding と border を幅と高さに含める
        box-sizing: border-box;
    }
    
    // HTML全体設定
    html {
        /// スクロール設定
        scroll-behavior: smooth;
    }
    
    // 共通フォント設定
    body {
        font-family: "Kosugi Maru", "Zen Maru Gothic", "Klee One", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    }
    

  • Comment

    簡単ではないが難しくもない
    目的はシンプルだが考えることは沢山ある
    得るものは自分への揺るぎない肯定感
    1人でできる
    金を使わなくてもできるが、青天井で使うことも可能
    何故か応援される
    かけられる言葉に深い意味はないが、何故か力が湧いてくる
    脳が活性化する海馬が成長する

    滅多に当選しないのに抽選とかやるから話がおかしくなる
    完全受注生産~配送でいいじゃん
    先着順に配送すればいいだろ。

    あぁ、やってくれたなasics
    これはつまり、俺は当選しているのか?そうでないのか

    失敗はある。でも、どこを見ているんだ?という話で対応が遅い。

  • ブロックテーマ

    ブロックテーマを作る

  • 初期設定ですべきこと

    • パーマリンク設定

    個人的に気に入っているプラグイン

    • Highlighting Code Block

  • テーマ作成

    WordPress でテーマを自作する際に必要なものについて、重要なファイルや知識、手順を整理してお伝えします。


    WordPress テーマを自作するために必要なもの

    1. 必須ファイル

    WordPress テーマとして機能するには、最低限以下の2つのファイルが必要です。

    a. style.css

    • テーマのスタイルシート。
    • 必須ヘッダーコメント(テーマ情報)を記述する必要があります。
    /*
    Theme Name: My Custom Theme
    Theme URI: https://example.com/my-custom-theme
    Author: Your Name
    Author URI: https://example.com
    Description: A custom WordPress theme created for learning purposes.
    Version: 1.0
    License: GNU General Public License v2 or later
    License URI: https://www.gnu.org/licenses/gpl-2.0.html
    Text Domain: my-custom-theme
    */

    b. index.php

    • WordPress テンプレート階層で最終的に利用されるファイル。
    • 例:
    <!DOCTYPE html>
    <html <?php language_attributes(); ?>>
    <head>
      <meta charset="<?php bloginfo( 'charset' ); ?>">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title><?php bloginfo( 'name' ); ?></title>
      <link rel="stylesheet" href="<?php echo get_stylesheet_uri(); ?>">
      <?php wp_head(); ?>
    </head>
    <body <?php body_class(); ?>>
      <h1><?php bloginfo( 'name' ); ?></h1>
      <p><?php bloginfo( 'description' ); ?></p>
      <?php wp_footer(); ?>
    </body>
    </html>
    

    2. 推奨ファイル

    テーマをより実用的にするために、以下のファイルを追加するのが一般的です。

    a. header.php

    • ヘッダー部分のテンプレート。
    • <?php get_header(); ?> を使って他のテンプレートから呼び出されます。

    b. footer.php

    • フッター部分のテンプレート。
    • <?php get_footer(); ?> を使って他のテンプレートから呼び出されます。

    c. functions.php

    • テーマに機能を追加するためのファイル。
    • 例:テーマサポートやウィジェットエリアの登録。

    d. single.php

    • 投稿(ブログ記事)を表示するテンプレート。

    e. page.php

    • 固定ページを表示するテンプレート。

    f. archive.php

    • カテゴリーやタグなどのアーカイブページを表示するテンプレート。

    g. 404.php

    • 存在しないページにアクセスされたときに表示するテンプレート。

    3. フォルダ構成

    基本的なフォルダ構成例:

    /my-custom-theme/
    │
    ├── style.css         # テーマ情報とスタイル
    ├── index.php         # メインテンプレート
    ├── header.php        # ヘッダー
    ├── footer.php        # フッター
    ├── single.php        # 投稿ページテンプレート
    ├── page.php          # 固定ページテンプレート
    ├── archive.php       # アーカイブテンプレート
    ├── 404.php           # エラーページ
    ├── functions.php     # 機能追加
    └── /assets/          # 画像、CSS、JavaScript などのリソース
        ├── css/
        ├── js/
        └── images/

    4. 必須知識

    • HTML:
    • テンプレートの基本構造を作るために必要。
    • CSS:
    • サイトのデザインを整えるために必須。
    • PHP:
    • WordPress のテンプレートタグやカスタム機能を実装するために必要。
    • 例: <?php echo bloginfo( 'name' ); ?> でサイト名を表示。
    • WordPress テンプレート階層:
    • 各ページで使用されるテンプレートファイルを理解する。
    • 例:single.php → 投稿ページ、archive.php → カテゴリー一覧など。
    • JavaScript(任意):
    • 動的な動きをつけたい場合に利用。

    5. 開発環境

    • ローカル環境
    • WordPress をインストールしてテストできる環境を準備する。
    • 推奨ツール:XAMPP, Local by Flywheel, Docker など。
    • コードエディタ
    • Visual Studio Code や PhpStorm が便利。
    • ブラウザデベロッパーツール
    • デザインや動作を調整する際に役立ちます。

    6. カスタマイズ

    テーマをオリジナルにするために以下を検討してください。

    1. カスタムメニュー:
    • functions.php に登録。
    • 例:
      php function register_my_menu() { register_nav_menu('primary', __('Primary Menu')); } add_action('init', 'register_my_menu');
    1. カスタムウィジェットエリア:
    • ウィジェットをテーマ内に表示。
    1. レスポンシブデザイン:
    • CSS メディアクエリを使用。
    1. テンプレートパーツの分割:
    • get_template_part() を使って、コードを再利用しやすくする。

    7. デバッグと検証

    • デバッグモード:
    • wp-config.php でデバッグモードを有効にする:
      php define('WP_DEBUG', true);
    • W3C Validator:
    • HTML の構文チェック。
    • WordPress のテーマ検証:
    • Theme Check プラグインで検証。

    8. 画像

    screenshot.png (サイズ 1200x900px)

  • Hello world!

    WordPress へようこそ。こちらは最初の投稿です。編集または削除し、コンテンツ作成を始めてください。