@tkshrt

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

WordPressの投稿をXサーバーのファイルマネージャに反映させる方法を教えてください

解決したいこと

WordPressの投稿をXサーバーのファイルマネージャに反映させる方法を教えてください

例)
XサーバーでHPを作成している会社からお知らせページの新設の依頼を受けました。
WordPressで投稿した内容を既存HPに反映させてたいのですが、URLを開いても真っ白のページが開くだけで投稿内容が見られません。

発生している問題・エラー

ページは真っ白です

該当するソースコード


```php
<?php
    // WordPressの投稿をすべて取得
    $args = array(
        'post_type'      => 'post', // 投稿タイプ
        'posts_per_page' => -1,     // すべての投稿を取得
        'orderby'        => 'date', // 日付順
        'order'          => 'DESC'  // 降順
    );
    $query = new WP_Query($args);

    // 投稿がある場合
    if ($query->have_posts()) :
        while ($query->have_posts()) : $query->the_post();
            // アイキャッチ画像の取得(ない場合はデフォルト画像)
            $thumbnail = get_the_post_thumbnail_url(get_the_ID(), 'medium') ?: 'sample.jpg';
    ?>
<article class="news-item">
    <a href="<?php the_permalink(); ?>">
        <div class="news-thumbnail">
            <img src="<?php echo esc_url($thumbnail); ?>" alt="<?php the_title(); ?>">
        </div>
        <div class="news-content">
            <h4 class="news-title"><?php the_title(); ?></h4>
            <p class="news-date"><?php echo get_the_date('Y年n月j日'); ?></p>
            <p class="news-excerpt"><?php echo wp_trim_words(get_the_content(), 100, ''); ?></p>

        </div>
    </a>
</article>

自分で試したこと

.htaccessの修正
WordPressのパーマリンク再設定
0 likes

2Answer

何かに躓いたら一度WordPressをデバッグモードにして、ログを確認するクセを付けて下さい。
「真っ白のページ」と言われても、判断材料が少なすぎるので、答えようがありません
このようなFAQの場では、ログを提出するようにして下さい。

wp-config.phpに定数WP_DEBUGWP_DEBUG_LOGtrueにして有効化する。

wp-config.php
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );

ページをスーパーリロードにかけて、/wp-content/debug.logにログが生成されたら質問元の記事に追記して下さい。
返信ツリーに投下されると他者が解らなくなるので止めてください。

debug.logの内容が分かれば答えようもあるでしょう。
またdebug.logが生成されない(追記)されない場合、phpレベルでは無い他の場所に原因があるという切り分けもできるでしょう。

自動生成なのであまり意味は無いのですが、.htaccessの内容も質問元に追記すると良いかもしれません。


まさか無いとは思いますけど、/wp-content/themes/(テーマ名)/index.phpにはアクセスしてませんよね?

1Like

WordPress の投稿はデータベースに保存されるので、単体のファイルとしては存在せず、ファイルマネージャで表示することはできません。

0Like

Comments

  1. @tkshrt

    Questioner

    コメントありがとうございます。

    お知らせページは作成が完了して、投稿のタイトル、本文抜粋は表示できています。
    コードは下記に記載いたします。

     <?php
        // WordPressの投稿をすべて取得
        $args = array(
            'post_type'      => 'post', // 投稿タイプ
            'posts_per_page' => -1,     // すべての投稿を取得
            'orderby'        => 'date', // 日付順
            'order'          => 'DESC'  // 降順
        );
        $query = new WP_Query($args);
    
        // 投稿がある場合
        if ($query->have_posts()) :
            while ($query->have_posts()) : $query->the_post();
                // アイキャッチ画像の取得(ない場合はデフォルト画像)
                $thumbnail = get_the_post_thumbnail_url(get_the_ID(), 'medium') ?: 'sumple.jpg';
        ?>
    <article class="news-item">
        <a href="<?php the_permalink(); ?>">
            <div class="news-thumbnail">
                <img src="<?php echo esc_url($thumbnail); ?>" alt="<?php the_title(); ?>">
            </div>
            <div class="news-content">
                <h4 class="news-title"><?php the_title(); ?></h4>
                <p class="news-date"><?php echo get_the_date('Y年n月j日'); ?></p>
                <p class="news-excerpt"><?php echo wp_trim_words(get_the_content(), 100, ''); ?></p>
    
            </div>
        </a>
    </article>
    

    しかし、その投稿をクリックすると投稿内容が表示できない現象に陥ってしました。

    単体ファイルとしては存在しなくても投稿をphpで引っ張ってこれている状況なのでどうにかできるのではないかと思っているのですが、、、

  2. コードが崩れていて状況が分からないので、コメントを編集してコードブロック記法を使い書き直してください。以下のようにコードを3連続のバッククォートで囲むことで整形されます。(コードブロックと前後の段落の間には空行が必要です。)

    ```php
    <?php
    echo "hello";
    ```
    

    <?php
    echo "hello";
    
  3. 元記事を編集しなおしてください。
    「該当するソースコード」に、その PHP コードを書いてください。

  4. @tkshrt

    Questioner

    下記コードで投稿のタイトル、日付、本文抜粋まで表示できています
    しかし、投稿をクリックしても表示できません

    <?php
        // WordPressの投稿をすべて取得
        $args = array(
            'post_type'      => 'post', // 投稿タイプ
            'posts_per_page' => -1,     // すべての投稿を取得
            'orderby'        => 'date', // 日付順
            'order'          => 'DESC'  // 降順
        );
        $query = new WP_Query($args);
    
        // 投稿がある場合
        if ($query->have_posts()) :
            while ($query->have_posts()) : $query->the_post();
                // アイキャッチ画像の取得(ない場合はデフォルト画像)
                $thumbnail = get_the_post_thumbnail_url(get_the_ID(), 'medium') ?: 'sample.jpg';
        ?>
    <article class="news-item">
        <a href="<?php the_permalink(); ?>">
            <div class="news-thumbnail">
                <img src="<?php echo esc_url($thumbnail); ?>" alt="<?php the_title(); ?>">
            </div>
            <div class="news-content">
                <h4 class="news-title"><?php the_title(); ?></h4>
                <p class="news-date"><?php echo get_the_date('Y年n月j日'); ?></p>
                <p class="news-excerpt"><?php echo wp_trim_words(get_the_content(), 100, ''); ?></p>
    
            </div>
        </a>
    </article>
    
    
    
  5. コードは正しそうですね。サーバの設定ミスかもしれません。投稿を表示したときの HTTP ステータスコードはどうなっていますか?

    確認する方法が分からなければ以下のページを使ってください。投稿の URL を貼って Check status ボタンを押し、 Status codes に表示される3桁の数字がそれです。

  6. @tkshrt

    Questioner

    200ok
    と出ました。

  7. @tkshrt

    Questioner

    投稿のURLを開くと
    public_html/index.php
    の内容が表示されているように見られます。

    themes/twentytwentythree/single.php(下記記載)
    single.phpは有効化されているテーマの中に入れています
    これでもsingle.phpよりindex.phpが優先される理由は何が考えられますか?

    <?php
    get_header(); // ヘッダーを読み込み
    ?>
    
    <main>
        <section class="single-post">
            <div class="container">
                <?php
                if (have_posts()) :
                    while (have_posts()) : the_post();
                ?>
                        <article>
                            <h1><?php the_title(); ?></h1>
                            <p class="post-date"><?php echo get_the_date('Y年n月j日'); ?></p>
                            <div class="post-thumbnail">
                                <?php
                                if (has_post_thumbnail()) {
                                    the_post_thumbnail('large');
                                }
                                ?>
                            </div>
                            <div class="post-content">
                                <?php the_content(); ?>
                            </div>
                        </article>
                <?php
                    endwhile;
                else :
                    echo '<p>投稿が見つかりません。</p>';
                endif;
                ?>
            </div>
        </section>
    </main>
    
    <?php
    get_footer(); // フッターを読み込み
    ?>
    
    

Your answer might help someone💌