wordpress記事一覧の文字化け問題について

このQ&Aのポイント
  • wordpressを使って記事一覧をHTML内に表示していると、タイトルやHTMLの全角文字が文字化けしてしまいます。
  • phpで書き出している部分だけが正常に表示されるため、原因はphpの設定にある可能性があります。
  • 文字コード宣言やデータベースの設定を調整することで文字化けの問題を解決することができるかもしれません。
回答を見る
  • ベストアンサー

wordpressの記事一覧が文字化け

wordpressを使って、その記事一覧をHTML内に表示しています。 するとタイトルやHTMLの全角文字が文字化けしphpで書き出している部分だけ正常に表示されます。 http://wordpress.main.jp/main2.php コードの内容は <?php require('./wordpress/wp-blog-header.php'); ?> <html> <head> <title>文字化けPHP</title> </head> <body> <p align="center">文字化けしてしまいます。</p> <div align="center"> <table width="400" border="1" align="center" cellpadding="0" cellspacing="0"> <tr> <td> <div> <?php $posts = get_posts('numberposts=3'); foreach($posts as $post) : setup_postdata($post); ?> <?php the_date(); ?> <br> <ul> <li><a href="<?php the_permalink(); ?>" id="post-<?php the_ID(); ?>"> <?php the_title(); ?> </a></li> </ul> <?php endforeach; ?> </div></td> </tr> </table> </div> <p align="center">文字化けしてしまいます。</p> </body> </html> ---------------------------------------- です。 PHPは全然わかりませんが、調べてみて今までやったことは ・文字コード宣言をいろんなものに変えた。 ・wordpress > wp-includes > wp-db.phpに  @mysql_query(”SET NAMES ‘utf8′”, $this->dbh);を追加。 等、やってきましたが、解決しません。 現在はロリポップに新規にインストールしてすべてデフォルトの状態です。 文字化け回避の方法をよろしくお願い致します。

  • PHP
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • iyomante
  • ベストアンサー率60% (14/23)
回答No.1

mysql_query("SET NAMES ujis", $this->dbh); にしてすべてeuc-jpに統一してもだめですか?

minto55
質問者

お礼

euc-jpに統一したら、PHP部分も文字化けになってしまいました。 タイトルやMETAタグもすべてPHPで書き出して HTMLの中には全角を入れないようにしました。 多分私の見落としている部分があると思うので、 全角を入れても文字化けしないよう検証は続けたいと思います。 ご回答ありがとうございます。

関連するQ&A

  • WordPress3 文字化け previous_post_link(

    WordPress3 文字化け previous_post_link() WordPress3.0.1を使用しています。previous_post_link('日本語表記')が文字化けします。 WordPressを学習中で、3つほどカスタムサイトを作ったんですが、 1つ目、2つ目に作ったサイトでは、 <p class="prev"><?php previous_posts_link('&laquo;前ページへ'); ?></p> <p class="next"><?php next_posts_link('次ページへ&raquo;'); ?></p> と指定して、日本語部分も正常に表示されていました。 ところが、3つ目になって、同じコードなのに日本語部分が文字化けしました。 開発はローカル環境で、データベースは1サイトにつき、1つのデータベースを作成しています。3つ目を作る際に、何か設定を変えたとかインストール時に違うことをしたという覚えがないのですが、検討つく方っていますでしょうか?・・・ ※この部分以外は、全て正常に表示できています。

  • Wordpressで特定カテゴリーの一覧ページ

    今特定のカテゴリーの一覧ページを作りたいのですがうまく作れません。 http://snapkidz.biz/wp/?cat=4(現状) 本当はhttp://blackartcard.com/?cat=4のような感じで作りたいんですがうまくいきません。 二つとも自分のサイトなのですが、http://blackartcard.com/?cat=4の方はテンプレートをいじって作ったので、うまくいっただけです。 アーカイブ.phpを同じ物をsnapkidz.bizにいれたのですがレイアウトがヘッダー部分に表示されるようになってしました。 アーカイブの中身は以下です。 <?php /** * @package WordPress * @subpackage Modularity */ ?> <?php get_header();?> <div> <?php query_posts($query_string.'&posts_per_page=2'); if (have_posts()) : ?> <?php $post = $posts[0]; // Hack. Set $post so that the_date() works. ?> <div class="clear"></div> <div class="content"> <?php while (have_posts()) : the_post(); ?> <div class="archive-top"> <?php the_post_thumbnail('full'); ?> <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php printf( esc_attr__( 'Permalink to %s', 'modularity' ), the_title_attribute( 'echo=0' ) ); ?>"><?php the_title() ?></a></h2> <div class="clear"></div> <p class="postmetadata alt quiet"> <?php $tag_list = get_the_tag_list( '| Tags: ', ', ' ); printf( __( '%1$s | Categories: %2$s %3$s | ', 'modularity' ), get_the_time( get_option( 'date_format' ) ), get_the_category_list( ', ' ), $tag_list ); ?> </p> <hr /> </div> <?php endwhile; ?> <div class="clear"></div> <div class="navigation"> <div class="alignleft"><?php next_posts_link( __( '&laquo; 前の記事', 'modularity' ) ); ?></div> <div class="alignright"><?php previous_posts_link( __( '次の記事 &raquo;', 'modularity' ) ) ?></div> </div> <div class="clear"></div> <?php else : ?> <h2 class="center"><?php _e( 'Not Found', 'modularity' ); ?></h2> <?php get_search_form(); ?> <?php endif; ?> </div> </div> </div> <!-- Begin Footer --> <?php get_footer(); ?> どうすればヘッダー下にうまく表示できるでしょうか?? 宜しくお願い致します。

    • 締切済み
    • CSS
  • wordpressで

    wordpressを使ってブログを作っています。しかしcssを読み込んでくれません。 index.phpの内容は <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" /> <title><?php bloginfo('name'); ?><?php wp_title(': '); ?></title> <meta name="generator" content="WordPress <?php bloginfo('version'); ?>" /> <!-- leave this for stats please --> <link rel="alternate" type="application/rss+xml" title="<?php bloginfo('name'); ?>(RSS 2.0)" href="<?php bloginfo('rss2_url'); ?>" /> <link rel="alternate" type="application/atom+xml" title="<?php bloginfo('name'); ?>(Atom)" href="<?php bloginfo('atom_url'); ?>" /> <link rel="stylesheet" type="text/css" href="<?php bloginfo('stylesheet_url'); ?>" /> </head> <body> <div id="rap"> <div id="header"> <div id="headerimg"> <h1><a href="<?php echo get_settings('home'); ?>/"><img src="img/title.gif" alt="芦澤治療院はやさしいマッサージで施術いたします。" /></a></h1> </div> <div id="headernavi"> <div id="navi"> <ul> <li><a href="#"><img src="img/link.gif" alt="" border="0" /></a></li> <li><a href="#"><img src="img/sitemap.gif" alt="" border="0" /></a></li> <li><a href="#"><img src="img/inquary.gif" alt="" border="0" /></a></li> </ul></div> <div id="size"> <img src="img/sizeword.gif" alt="" /> <a href="#"><img src="img/sizesmall.gif" alt="" border="0" /></a> <a href="#"><img src="img/sizemiddle.gif" alt="" border="0" /></a> <a href="#"><img src="img/sizebig.gif" alt="" border="0" /></a></div> </div> </div> <div id="navcontainer"> <ul> <li class="news"><a href="#">ニュース</a></li> <li class="cut"><img src="img/linecut.gif" alt="" /></li> <li class="work"><a href="#">施術の案内</a></li> <li class="cut"><img src="img/linecut.gif" alt="" /></li> <li class="stuff"><a href="#">スタッフ</a></li> <li class="cut"><img src="img/linecut.gif" alt="" /></li> <li class="qa"><a href="#">よくある質問</a></li> <li class="cut"><img src="img/linecut.gif" alt="" /></li> <li class="inq"><a href="#">お問い合わせ</a></li> </ul> </div> <!-- end header --> <div id="content"> <div id="main"> <?php if(have_posts()):while(have_posts()):the_post();?> <div class="post"> <h2><?php the_title();?></h2> <?php the_content();?> <p class="postmetadate"> <?php the_time('Y年m月d日 H:i')?>|<?php comments_popup_link ('コメント(1)','コメント(2)','コメント(%)');?> </p> </div> <?php comments_template();?> <?php endwhile;endif;?> </div> </div> </div> </body> </html> です。 ディレクトリ構造はindex.htmlとstyle.cssは同じフォルダにあります。

    • 締切済み
    • PHP
  • WordPress PCとスマホで表示を切り替える

    PCでは記事一覧5件、スマホでは3件表示するようにしたいです。 条件分岐タグを使って、PCとスマートフォンで記事の一覧表示を切り替える方法がうまくいきませんでした。 https://handywebdesign.net/2017/11/wp-is-mobile/ 改造前のコード(問題なく表示できました) <ul> <?php $latest_posts = get_posts( array( 'posts_per_page' => 5, // 表示する記事の数 'category_name' => '投稿ID',// 投稿IDを取得 'fields' => 'ids', ) ); foreach( $latest_posts as $post ): setup_postdata( $post ); if( has_post_thumbnail() ) { $post_thumb = get_the_post_thumbnail( '', 'post_thumbnail' ); // アイキャッチがあるときはアイキャッチを表示 } else { $post_thumb = '<img src="' . get_template_directory_uri() . '/img/noimage.gif" width="100" height="100" alt="デフォルト画像" />'; // アイキャッチがないときは《noimage.gif》を表示 } $post_categories = get_the_category(); // カテゴリーを取得 $post_content = wp_trim_words( get_the_content(), 30, '…' ); // 30字分を抜粋 ?> <li <?php post_class(); ?>> <a href="<?php the_permalink(); ?>"> <div class="blogListimg"> <?php echo wp_kses_post( $post_thumb ); ?> </div> <!-- アイキャッチここまで --> <p class="post-time blogDt"><?php the_time('Y.m.d'); ?></p> <p class="post-categories blogCt"><?php echo esc_html( $post_categories[0]->name ); ?></p> <h3 class="post-title"><?php the_title(); ?></h3> <p class="post-content blogBf"><?php echo esc_html( $post_content ); ?></p> </a> </li> <?php endforeach; wp_reset_postdata(); ?> </ul> PCとスマートフォンで記事の一覧表示を切り替えるコード 参考サイトを参考にfunctions.phpにfunction is_mobile() コードを追加。 トップページのphpに以下を改造。 <?php if ( is_mobile() ) : ?> <?php $latest_posts = get_posts( array( 'posts_per_page' => 5, // 表示する記事の数 'category_name' => '投稿ID',// 投稿IDを取得 'fields' => 'ids', ) ); foreach( $latest_posts as $post ): setup_postdata( $post );  ・  ・  ・ <?php else: ?> <?php $latest_posts = get_posts( array( 'posts_per_page' => 3, // 表示する記事の数 'category_name' => '投稿ID',// 投稿IDを取得 'fields' => 'ids', ) ); foreach( $latest_posts as $post ): setup_postdata( $post );  ・  ・  ・ <?php endforeach; wp_reset_postdata(); ?> </ul> 結果は真っ白になってしまいました。 HTMLソースも真っ白です。 空白はSublime Textのテキストエディターを使っていますので、確認しております。 どこが違うか、教えてくださいますか? よろしくおねがいします。

    • ベストアンサー
    • PHP
  • wordpressで特定の記事の本文だけを取り出す記述

    wordpressで特定の記事の本文だけを取り出す記述 超初心者です。 下記のようなwordpressの関数を使ったPHP文で「特定の記事の本文」のみを取り出したく いろんなwordpressのサンプルなどを参考にして作ってみました。 結果はまあ思い通りには出るのですが、 これって1つの記事を取り出すだけならスマートじゃないですよね・・・。 <?php query_posts('p=277'); ?> <?php if(have_posts()):while(have_posts()):the_post(); ?> <div><?php the_content(); ?></div> <?php endwhile;endif; ?> いまいちwhileなどのループなどがわかってないのですが、 よく考えれば1つの記事を抜き出すのにループを記述する必要があるのか? いろいろ試してみたのですが、エラーが頻出して挫折。 どうすればいいのかがわかんなくて質問させていただきました。 熟練された方はどういう記述にするのか参考にさせていただきたいです。

    • ベストアンサー
    • PHP
  • WordPressで孫ページ一覧を取得

    下記のコードで子ページ一覧を取得していたのですが、子ページ一覧ではなく孫ページ一覧を取得する必要が出てきました。 <?php $parentId = get_the_ID(); $args = 'posts_per_page=-1&post_type=page&orderby=menu_order&post_parent='.$parentId; query_posts($args); if (have_posts()) : while (have_posts()) : the_post(); ?> <div class="child-box"> <a href="<?php the_permalink(); ?>"><img src="<?php echo wp_get_attachment_url( get_post_thumbnail_id() ); ?>" width="190" alt=""></a> <p class="title"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></p> <p>価格:<span class="price"><?php $selling_price = get_field('selling_price'); echo $selling_price."円"; ?></span></p> </div> <?php endwhile;?> <?php wp_reset_query(); ?> <?php else:?> <?php endif;?> 上記のような形で孫ページ一覧を取得する方法をご存知のかた、是非ご教授ください。

    • ベストアンサー
    • PHP
  • WordPress 最新記事をまとめてURLにする

    参考のURL https://www.buzzhook.co.jp/ 下の方に「BACKYARD BLOG」があります。 アイキャッチ画像、年月日、カテゴリー、タイトル、抜粋全てどれをクリックしてもURLへジャンプします。 HTMLソースは下記になります。 <li> <a herf="#"> . . . </a> </li> WordPressのトップページも同様にしたいのですが、PHPプログラムはまだ初心者なので、うまくいきませんでした。結果はアイキャッチのみURLでした。 どこが違うのでしょうか? 宜しくお願いします。 <!-- main --> <main> <!-- 最新記事リスト --> <ul> <li> <a href="<?php the_permalink(); ?>"> <?php query_posts('posts_per_page=5'); ?> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <!-- アイキャッチ表示 --> <?php if (has_post_thumbnail()) : ?> <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('thumbnail'); ?></a> <?php else : ?> <a href="<?php the_permalink(); ?>"><img src="<?php bloginfo('template_url'); ?>/img/noimage.gif" width="100" height="100" alt="デフォルト画像" /></a> <?php endif ; ?> <!-- カテゴリー表示 --> <?php echo get_the_category()[0]->name; ?> <!-- 抜粋 --> <?php echo get_the_excerpt(); ?> <span class="date"> <?php the_time('Y年n月j日'); ?> <?php $days=30; $today=date('U'); $entry=get_the_time('U'); $diff1=date('U',($today - $entry))/86400; if ($days > $diff1) { echo '<img src="images/new.gif" alt="New" />'; } ?> </span> </a> </li> <?php endwhile; endif; ?> <?php wp_reset_query(); ?> </ul> <!-- 最新記事リストここまで --> </main>

    • ベストアンサー
    • PHP
  • [wordpress] 固定ページで、カテゴリ名の

    [wordpress] 固定ページで、記事の一覧を表示し、その記事の属するカテゴリ名の表示 wordpressで、商品一覧ページを作成していて、一覧を表示するページは固定ページにしています。 その商品一覧の中で、記事(商品)の属するカテゴリ名を表示させたいのですが どうすればいいでしょうか? 商品が服なので、その商品が属するカテゴリを項目の一つとして出力したいのです。 つまり『抽出した商品毎(have_post()の出力結果)にカテゴリ名を抽出』という感じです。 具体的なソースも教えて頂けると助かります。 <?php the_category(); ?> はダメでした。 [参考ソース] <div id="collectionWrap" class="clearfix"> <?php $loop = new WP_Query( array( 'post_type' => 'collection', 'posts_per_page' => 8 ) ); while ( $loop->have_posts() ) : $loop->the_post(); ?> <div class="collection"> <div class="image"> <a href="<?php the_permalink() ?>"><?php echo wp_get_attachment_image(get_post_meta($post->ID,"画像",true),'medium' ); ?></a> </div> <div class="txt"> <div class="clearfix mb10"> <p class="upDate"><?php echo get_post_meta($post->ID,"性別",true); ?></p> <p class="seasons"> <span> /*ここにカテゴリの種類を出力 */ </span></p> </div> <p class="itemName"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></p> <p class="itemPrice">&yen;&nbsp;<?php echo get_post_meta($post->ID,"価格",true); ?></p> </div> </div> <?php endwhile; ?> <?php wp_reset_query(); ?> </div> どうかよろしく御願いします。足りない情報等あればおっしゃってください。 自分でもいろいろ調べてるのですが、わかりません。。急いでます。

    • ベストアンサー
    • PHP
  • WordPressのtag.phpのループ回数

    WordPressでタグの一覧ページtag.phpを作成してループを読み込ませたのですが、10記事しか表示されません。ループ部分のコードは以下のとおりです。 <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <div> <a href="<?php the_permalink();?>" title="<?php the_title_attribute(); ?>"><img src="<?php echo wp_get_attachment_url( get_post_thumbnail_id() ); ?>" alt=""></a> <p><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></p> </div><!-- /.child-box --> <?php endwhile;?> <?php else:?> <?php endif;?> 該当する記事は40ほどあるのですが、違うタグで試してもやはり10記事しか表示されません。 色々と試したのですが原因がわかりません。ご教授いただけませんでしょうか。

    • ベストアンサー
    • PHP
  • WordPressでトップページに最新記事5件

    トップページは固定ページを使用します。 トップページにアイキャッチ付き最新記事5件リストを表示したいのです。 検索しましたところ、似たようなものを見つけました。 この解説はアイキャッチがついていません。 アイキャッチがつくようにするにはどうすれば良いのでしょうか? 宜しくお願いします。 http://39kn.com/2010/05/27/4121/ <ul> <?php query_posts('posts_per_page=5'); ?> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <li> <span class="date"> <?php the_time('Y年n月j日'); ?> <?php $days=30; $today=date('U'); $entry=get_the_time('U'); $diff1=date('U',($today - $entry))/86400; if ($days > $diff1) { echo '<img src="images/new.gif" alt="New" />'; } ?> </span> <a href="<?php the_permalink(); ?>"><?php the_title();?></a> </li> <?php endwhile; endif; ?> <?php wp_reset_query(); ?> </ul>

    • ベストアンサー
    • PHP

専門家に質問してみよう