架空株式会社

PHPとエフェクトここにまとめてあります

企業用に会社概要、沿革、募集要項を管理ページ左メニューから登録できるテンプレートです
スタイルは極力使用していません
プラグインはACF(SCF)は必須です
まずオレンジの線つけているのでスタイルシートでorengeで検索して線消してください
〇〇ニュース一覧のphp〇〇カテゴリーや件数は調整しましょう〇〇

<?php
// カスタムクエリでニュース投稿を取得
$args = array(
    "post_type"      => "post",       // 投稿タイプを指定 (通常の投稿の場合は "post")
    "category_name"  => "",      // カテゴリスラッグを指定 (例: "news")
    "posts_per_page" => 2,           // 一度に表示する投稿数を指定
    "orderby"        => "date",      // 日付順に並び替え
    "order"          => "DESC",      // 新しい順に表示
);

$query = new WP_Query($args);

if ($query->have_posts()) : ?>
    <div class="news-list">
        <?php while ($query->have_posts()) : $query->the_post(); ?>
            <div class="news-item">
                <!-- 投稿日時 -->
                <p class="news-date"><?php echo get_the_date(); ?></p>

                <!-- タイトル -->
                <h2 class="news-title">
                    <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
                </h2>

                <!-- 本文 -->
                <div class="news-content">
                    <?php
                    // 本文を取得
                    $content = get_the_content();

                    // 画像や動画を削除
                    $content = preg_replace("/<img[^>]*>/i", "", $content);
                    $content = preg_replace("/<iframe[^>]*>.*?<\/iframe>/i", "", $content);
                    $content = preg_replace("/<video[^>]*>.*?<\/video>/i", "", $content);

                    // テキストを一定の長さで切り詰め
                    $trimmed_content = wp_trim_words($content, 50, "...");
                    echo wp_kses_post($trimmed_content); // 安全にエスケープして表示
                    ?>
                </div>

                <!-- 続きを読む -->
                <a href="<?php the_permalink(); ?>" class="news-read-more">続きを読む</a>
            </div>
        <?php endwhile; ?>
    </div>

    <!-- ページネーション -->
    <div class="news-pagination">
        <?php
        // ページネーションの出力
        echo paginate_links(array(
            "total" => $query->max_num_pages,
        ));
        ?>
    </div>

<?php else : ?>
    <p class="news-no-articles">現在、ニュース記事はありません。</p>
<?php endif;

// クエリのリセット
wp_reset_postdata();
?>

以下テスト

2024年12月12日

うううううううううううううううううううううううううう

ええええええええええええええええええええええええええええええええええええええええええええええええええ...
続きを読む

2024年12月12日

あああああああああ

いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい
続きを読む
〇〇会社概要を表示させるphp〇〇
ACFの項目を消してもphpは変更しなくてOK。ACFの項目を追加し15個以上になるときはPHPの変更を。
ACFの項目の順番が変わったときは、一旦投稿を削除して再度投稿して。
com9のMAILとcom15のWEBサイトはリンクが自動で貼られるので項目と番号はセットにした方がいいかも

<?php
// 投稿タイプが「company_profile」の投稿を取得
$args = array(
    "post_type"      => "company_profile",
    "posts_per_page" => -1,  // すべての投稿を表示
);
$company_profiles = new WP_Query( $args );

if ( $company_profiles->have_posts() ) :
    // 投稿がある場合
    while ( $company_profiles->have_posts() ) : $company_profiles->the_post(); ?>

        <div class="company-profile-item">
            <h2><?php the_title(); ?></h2> <!-- 記事のタイトルを表示 -->

            <div class="acf-fields">
                <?php
                // ACFで作成したカスタムフィールドを設定順で取得
                $fields = get_fields(); // フィールドを設定順で取得

                if ( $fields ) :
                    // 取得したフィールドをループして出力
                    foreach ( $fields as $field_key => $field_value ) :
                        // "com" で始まるフィールドのみを表示
                        if ( strpos( $field_key, "com" ) === 0 && !empty( $field_value ) ) : // 値が空でない場合にのみ表示
                            // フィールドオブジェクトを取得
                            $field_object = get_field_object( $field_key );
                            $label = $field_object["label"]; // フィールドラベルを取得

                            // com9とcom15に特別なリンクを設定
                            if ( "com9" === $field_key ) :
                                // com9用のmailtoリンク
                                ?>
                                <dl class="acf-field">
                                    <dt><?php echo esc_html( $label ); ?></dt>
                                    <dd><a href="mailto:<?php echo esc_attr( $field_value ); ?>" target="_blank"><?php echo esc_html( $field_value ); ?></a></dd>
                                </dl>
                                <?php
                            elseif ( "com15" === $field_key ) :
                                // com15用の通常リンク
                                ?>
                                <dl class="acf-field">
                                    <dt><?php echo esc_html( $label ); ?></dt>
                                    <dd><a href="<?php echo esc_url( $field_value ); ?>" target="_blank"><?php echo esc_html( $field_value ); ?></a></dd>
                                </dl>
                                <?php
                            else :
                                // その他のcomフィールドは通常通り表示
                                ?>
                                <dl class="acf-field">
                                    <dt><?php echo esc_html( $label ); ?></dt>
                                    <dd><?php echo wpautop( esc_html( $field_value ) ); ?></dd> <!-- 改行を反映 -->
                                </dl>
                            <?php endif; ?>
                        <?php endif; ?>
                    <?php endforeach;
                endif;
                ?>
            </div>
        </div>

    <?php endwhile;
    wp_reset_postdata();
else :
    echo "<p>会社概要は見つかりませんでした。</p>";
endif;
?>

以下テスト

会社概要

商号

株式会社 画遊

設立

1990年

所在地

〒921-8813
石川県野々市市住吉町12番27号

TEL

076-246-3766

FAX

076-294-4881

MAIL
info@ga-you.com
従業員数

22名

事業内容

■コピー・製本・スキャンニング等
■パソコンサポート(インターネット接続設定・パソコン各種トラブル対応・ウィルス駆除)
■各種印刷物のデザイン
■ソフト開発(オーダーメイドソフト開発・訪問介護支援ソフト)
■ホームページ制作
■CALS/EC(電子入札・電子納品支援)・データ変換
■DVD制作

許可

古物商許可番号:石川県公安委員会 第511070015427号

主要取引先

なし

WEBサイト
https://ga-you.com/
〇〇 募集要項を表示させるphp〇〇
ACFの項目を消してもphpは変更しなくてOK。ACFの項目を追加し15個以上になるときはPHPの変更を。
ACFの項目の順番が変わったときは、一旦投稿を削除して再度投稿して。

<?php
    // 投稿タイプが「recruitment」の投稿を取得
    $args = array(
        "post_type"      => "recruitment",
        "posts_per_page" => -1,  // すべての投稿を表示
    );
    $recruitments = new WP_Query( $args );

    if ( $recruitments->have_posts() ) :
        // 投稿がある場合
        while ( $recruitments->have_posts() ) : $recruitments->the_post(); ?>

            <div class="recruitment-item">
                <h2><?php the_title(); ?></h2> <!-- 記事のタイトルを表示 -->

                <div class="acf-fields">
                    <?php
                    // ACFのすべてのフィールドを取得(rec1からrec15のカスタムフィールド)
                    $fields = get_fields(); // ACFのカスタムフィールドを取得
                    if ( $fields ) :
                        // フィールドが存在する場合
                        foreach ( $fields as $field_key => $field_value ) :
                            // フィールド名がrec1からrec15に含まれる場合のみ表示
                            if ( strpos( $field_key, "rec" ) === 0 ) :
                                // フィールドオブジェクトを取得
                                $field_object = get_field_object( $field_key );
                                
                                // 値が空でない場合のみ出力
                                if ( !empty( $field_value ) ) : ?>
                                    <dl class="acf-field">
                                        <dt><?php echo esc_html( $field_object["label"] ); ?></dt>
                                        <dd><?php echo wpautop( esc_html( $field_value ) ); ?></dd> <!-- 改行を反映 -->
                                    </dl>
                                <?php endif; // 値が空でない場合のみ出力
                            endif;
                        endforeach;
                    endif;
                    ?>
                </div>
            </div>

        <?php endwhile;
        wp_reset_postdata();
    else :
        echo "<p>募集要項は見つかりませんでした。</p>";
    endif;
?>

以下テスト

募集要項テスト2

職種

テスト

募集テスト

職種

〇〇士

雇用形態

正社員

仕事内容

仕事内容
仕事内容

勤務時間

8:30~17:30

勤務予定地

〒921-8813
石川県野々市市住吉町12-27

給与

200,000円〜300,000円

諸手当

業務手当、職能手当、資格手当、扶養手当

昇給

あり

賞与

あり

年間休日

120日

休日休暇

土・日・祝日

福利厚生

雇用保険、労災保険、健康保険、厚生年金

応募資格

普通自動車運転免許※AT限定不可(必須)

選考方法

まずはお問い合わせください

<?php
    // クエリを作成して「history」投稿タイプを取得
    $args = array(
        "post_type"      => "history",   // 投稿タイプ「history」
        "posts_per_page" => -1,          // すべての投稿を取得
        "orderby"        => "date",      // 投稿日時で並べ替え
        "order"          => "ASC",       // 昇順(古い順)
    );

    $history_query = new WP_Query( $args );

    // クエリが結果を返す場合
    if ( $history_query->have_posts() ) : ?>
        <ul>
            <?php
            // 投稿がある場合に繰り返し処理
            while ( $history_query->have_posts() ) : $history_query->the_post();
            ?>
                <li>
                    <span class="history-date"><?php echo get_the_date(); ?></span> 
                    <span class="history-title"><?php the_title(); ?></span>
                </li>
            <?php endwhile; ?>
        </ul>
    <?php else : ?>
        <p>沿革はまだ追加されていません。</p>
    <?php endif; ?>

    <?php
    // 投稿データをリセット
    wp_reset_postdata();
?>

以下テスト
その場でフェードイン
class fade-in-static を追加
下からフェードイン
class fade-in を追加
1同じdiv内のdivを0.5秒ごとに下からフェードイン
class fade-in-group を追加
2
3
画面に入ったら画像がちょっと動く
img srcで画像を入れています
class fade-in-image を追加
画面に入ったら背景がちょっと動く
backgroundで画像を入れています
class fade-in-back を追加 
スクロールに合わせ、慣性で背景が動く 
class move-back を追加