Advanced Custom Fieldsにテーブルのフィールドタイプを追加できるプラグイン

Filed under: wordpressプラグイン — kdcs @ 2025年8月21日 木曜日

プラグインは「Advanced Custom Fields: Table Field」

テンプレートへのテーブル出力方法

ループ出力の中で使用

最小限の構成(th・td)での出力

<?php		
$table = get_field( 'your_table_field_name' );
if ( ! empty ( $table ) ) {
echo '<table>';
  echo '<tbody>';
    foreach ( $table['body'] as $tr ) {
    echo '<tr>';
      foreach ( $tr as $td ) {
      echo '<td>';
        echo $td['c'];
        echo '</td>';
      }
      echo '</tr>';
    }
    echo '</tbody>';
  echo '</table>';
}
?>

(続きを読む…)

Advanced Custom Fieldsで数字を含む文字列の数字だけ半角にしてカンマを付ける

Filed under: php,wordpress,wordpressプラグイン — kdcs @ 2025年8月14日 木曜日

料金などの金額をacfで出力させるとき、単純に数字だけにできない場合がある。
具体的には、金額に幅があり~を付けなければならない状況。

例:acfのフィールド名は’room_price’

<?php
$price_raw = post_custom('room_price'); // 例: "12345~5678円"
$price_raw = mb_convert_kana($price_raw, 'n'); // 全角数字を半角に変換(例: "12345~5678円")

// 数字部分だけをカンマ付きに整形
$formatted_price = preg_replace_callback('/\d+/', function($matches) {
    return number_format($matches[0]);
}, $price_raw);

echo $formatted_price; // 例: "12,345~5,678円"
?>

これをテンプレートで使うと

<?php
$price_raw = post_custom('room_price'); // 例: "12345~5678円"
$price_raw = mb_convert_kana($price_raw, 'n'); // 全角数字を半角に変換(例: "12345~5678円")

// 数字部分だけをカンマ付きに整形
$formatted_price = preg_replace_callback('/\d+/', function($matches) {
    return number_format($matches[0]);
}, $price_raw);
?>
<table>
<tr>
<th>料金</th><td><?php echo $formatted_price; ?>円(税込)</td>
</tr>
</table>

Windows「wsappx」のプロセスが高負荷になるのを防ぐ方法

Filed under: windows — kdcs @ 2025年8月10日 日曜日

「wsappx」とは、Windowsオペレーティングシステムの一部で特にMicrosoft Store(以前はWindowsストア)やUWP(Universal Windows Platform)アプリの管理や実行に関連するプロセスを指す。
頻繁にCPUやディスクの使用率が高くなり冷却ファンがフル回転状態になるので、その対応。

まったくMicrosoftストアを利用しないのでグループポリシーからMicrosoftストアを無効化する。

1.キーボードでWin+Rキーを同時に押して、「ファイル名を指定して実行」を呼び出し、「gpedit.msc」を入力

2.「コンピューターの構成」→「管理用テンプレート」→「Windowsコンポネント」→「ストア」の順にクリック

3.「Mcirosoft Storeアプリケーションをオフにする」を右クリックして、「編集」をクリック

4.設定の画面で「有効」を選択して、「適用」ボタンをクリック

これでMicrosoftストアを完全に無効化にすることができる。

バラバラの画像サイズ(縦横比など)を揃えるcss

Filed under: css — kdcs @ 2025年8月8日 金曜日

WordPressでユーザーが画像を投稿にアップする時、画像サイズや縦横比がバラバラでレイアウトが崩れてしまうことを防止してサイズを合わせる手段。
cssの「aspect-ratio」で対応できるがsafari(ios14以前)は未対応
css

img {
  width: 96%;
  aspect-ratio: 16 / 9; /* 例:16:9の比率に統一 */
  object-fit: cover;    /* はみ出た部分を切り取ってフィット */
  height: auto;         /* 高さは自動で調整 */
  display: block;
}

古いブラウザや特殊な環境では効かない可能性があるため、フォールバックとして padding-top を使った従来の方法。

.aspect-box {
  position: relative;
  width: 96%;
  padding-top: 56.25%; /* 16:9の比率 */
}

.aspect-box img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

WordPress固定ページでACFの画像を条件付きで出力する

Filed under: php,wordpress — kdcs @ 2025年8月8日 金曜日

Copilotに質問を投げかけた
「テンプレートファイルがpage-restaurant.phpでカスタム投稿タイプrestaurant_menu内にacfを使って画像のフィールド名をrestaurant_menu_imageとし、戻り値の形式は画像IDで出力したい。カスタム投稿タイプrestaurant_menuの投稿で画像がある場合のみ出力することはできるか?」

その解答

<?php
// カスタム投稿タイプ 'restaurant_menu' を取得
$args = array(
    'post_type' => 'restaurant_menu',
    'posts_per_page' => -1
);
$menus = new WP_Query($args);

if ($menus->have_posts()) :
    while ($menus->have_posts()) : $menus->the_post();

        // ACF画像フィールド(画像ID形式)を取得
        $attachment_id = get_field('restaurant_menu_image');
        if ($attachment_id) {
            $image = wp_get_attachment_image_src($attachment_id, 'large');
            $alt = get_post_meta($attachment_id, '_wp_attachment_image_alt', true);
            $caption = wp_get_attachment_caption($attachment_id);
            ?>
            <div class="menuItem">
                <h2><?php the_title(); ?></h2>
                <img src="<?php echo esc_url($image[0]); ?/>" alt="<?php echo esc_attr($alt); ?>" title="<?php echo esc_attr($caption); ?>">
            </div>
            <?php
        }

    endwhile;
    wp_reset_postdata();
else :
    echo '<p>メニューが見つかりませんでした。</p>';
endif;
?>

さらに、
(続きを読む…)

サイト内検索

カテゴリー

最近の投稿

↑上に戻る