質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

Q&A

解決済

1回答

3341閲覧

wordpressの既存テーマ(オリジナル)でwelcartの商品一覧(カテゴリ別)ページを作成する

kkkkk13n

総合スコア14

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

0グッド

0クリップ

投稿2020/08/31 06:54

編集2020/08/31 14:55

前提・実現したいこと

wordpressの既存のオリジナルテーマ上の固定ページ(商品一覧ページ)及び、トップページ(index.php)にカテゴリ別にwelcartの商品一覧を表示させたい。

使っているツールのバージョンなど補足情報

WordPress 5.5
Welcart 1.9.32

自分で調べたことや試したこと

・welcartのインストール及び有効化
・welcart内のwc_templatesフォルダを既存のオリジナルテンプレートのあるディレクトリへコピー
・welcartのデフォルトテーマの中の「functions.php」の中身を既存テーマのfunctions.phpに追加
・実際にテスト用商品を新規作成し、一覧に表示されるかを確かめたが、表示されず。
・固定ページ商品一覧表示させるphpコードを埋め込むため、ショートコードを作成(これはできました)
・色々なサイトを見て、様々なコードを見て、貼り付け実行を行ったが、できず。
・下記コードの

$args = get_posts( array( 'posts_per_page' => -1, // 表示件数の指定 'category' => '12' // 表示件数の指定 ));

categoryの数字が表示させる商品のカテゴリーだと思い、12から実際に登録した商品のカテゴリーIDである3に変えてみたが、商品は表示されなかったです。
・welcartの公式サイトや、商品一覧ページを作成する方法が書かれているサイトはほとんど見ました。

該当のソースコード

http://gimon.blog.jp/archives/1075064267.html

上記のウェブサイトを参考に商品一覧を表示させようとしましたが、できません。

下記が上記のウェブサイトで拾ってきたコードです。

<?php $args = get_posts( array( 'posts_per_page' => -1, // 表示件数の指定 'category' => '12' // 表示件数の指定 )); foreach ( $args as $post ): // ループの開始 setup_postdata( $post ); // 記事データの取得 usces_the_item(); usces_have_skus() ?> <form action="<?php echo USCES_CART_URL ?>" method="post"> <section class="kikaku_2 clear"> <h2><?php the_title(); ?></h2> <p class="price">&yen;<?php usces_the_firstPrice(); ?><span>(税別)</span></p> <p class="txt2"><?php echo nl2br($post->post_content); ?></p> <div class="buy"> 数量<?php usces_the_itemQuant(); ?> <?php usces_direct_intoCart($post->ID, usces_the_itemSku('return')); ?> </div> </div> </section> </form> <?php endforeach; // ループの終了 wp_reset_postdata(); // 直前のクエリを復元する ?>

wordpressの既存テーマ(オリジナル)でwelcartの商品一覧(カテゴリ別)ページを作成する方法をご存知の方、教えて頂けますでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kkkkk13n

2020/09/01 05:25

忘れていました。 今後気をつけます。 ご指摘ありがとうございます。
guest

回答1

0

ベストアンサー

回答がつかないようなので...

wordpressの既存のオリジナルテーマ上の固定ページ(商品一覧ページ)及び、トップページ(index.php)にカテゴリ別にwelcartの商品一覧を表示させたい。

下記コードの
$args = get_posts( array(
'posts_per_page' => -1, // 表示件数の指定
'category' => '12' // 表示件数の指定
));
categoryの数字が表示させる商品のカテゴリーだと思い、12から実際に登録した商品のカテゴリーIDである3に変えてみたが、商品は表示されなかったです。

どのような結果になるのでしょうか?

$args には、なにが入っていたのでしょうか?


オリジナルテーマということなので、テーマの中身が不明なので、どこが原因かの指摘はできないのですが、再現するかテストしてみました。

_s 等でブランクテーマを作っても良かったのですが、WordPress 標準テーマで試してみました。functions.php には、とくに追加していません。

1. WordPress 標準テーマの twentytwenty の singular.php をコピーして、 page-test.php を作成して、<main>〜</main> の適当な箇所に質問のコードの最低限の下記コードを記載しました。

$args = get_posts( array( 'posts_per_page' => -1, // 表示件数の指定 'category' => '2' // item のカテゴリーID )); var_dump( $args );

2.固定ページで、スラッグ test のページを作成します。

3.WelCart の商品ページで商品を登録します。テスト用に「商品A」「商品B」を登録しました。

4.http://example.jp/test を表示すると var_dump( $args ); が実行された部分に下記のように表示されました。

array(2) { [0]=> object(WP_Post)#7947 (24) { ["ID"]=> int(13) ["post_author"]=> string(1) "1" ["post_date"]=> string(19) "2020-09-02 19:15:44" ["post_date_gmt"]=> string(19) "2020-09-02 10:15:44" ["post_content"]=> string(0) "" ["post_title"]=> string(7) "商品B" ["post_excerpt"]=> string(0) "" ["post_status"]=> string(7) "publish" ["comment_status"]=> string(4) "open" ["ping_status"]=> string(4) "open" ["post_password"]=> string(0) "" ["post_name"]=> string(19) "%e5%95%86%e5%93%81b" ["to_ping"]=> string(0) "" ["pinged"]=> string(0) "" ["post_modified"]=> string(19) "2020-09-02 19:15:44" ["post_modified_gmt"]=> string(19) "2020-09-02 10:15:44" ["post_content_filtered"]=> string(0) "" ["post_parent"]=> int(0) ["guid"]=> string(30) "https://example.jp/?p=13" ["menu_order"]=> int(0) ["post_type"]=> string(4) "post" ["post_mime_type"]=> string(4) "item" ["comment_count"]=> string(1) "0" ["filter"]=> string(3) "raw" } [1]=> object(WP_Post)#7934 (24) { ["ID"]=> int(10) ["post_author"]=> string(1) "1" ["post_date"]=> string(19) "2020-09-02 19:14:45" ["post_date_gmt"]=> string(19) "2020-09-02 10:14:45" ["post_content"]=> string(0) "" ["post_title"]=> string(7) "商品A" ["post_excerpt"]=> string(0) "" ["post_status"]=> string(7) "publish" ["comment_status"]=> string(4) "open" ["ping_status"]=> string(4) "open" ["post_password"]=> string(0) "" ["post_name"]=> string(19) "%e5%95%86%e5%93%81a" ["to_ping"]=> string(0) "" ["pinged"]=> string(0) "" ["post_modified"]=> string(19) "2020-09-02 19:14:45" ["post_modified_gmt"]=> string(19) "2020-09-02 10:14:45" ["post_content_filtered"]=> string(0) "" ["post_parent"]=> int(0) ["guid"]=> string(30) "https://example.jp/?p=10" ["menu_order"]=> int(0) ["post_type"]=> string(4) "post" ["post_mime_type"]=> string(4) "item" ["comment_count"]=> string(1) "0" ["filter"]=> string(3) "raw" } }

となり、正しく商品情報を取得できていますので、あとは、foreach 等で表示できると思います。

投稿2020/09/02 10:38

編集2020/09/02 10:40
CHERRY

総合スコア25218

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問