wordpress関連RSS

以前、こちらのフォーラムに助けられて、いまだに初心者の域を脱していないですが、ちょこちょこいじっております。またお力をお貸しいただきたいです。
このサイト、メニューバーの「たすくの理念、サービス、教室案内、会社案内、スタッフ紹介、採用情報、お問合せ」の右隣に新たなメニューを追加したいです。業者の作成したオリジナルテーマで作られているので、WPの外観>メニュー、ヘッダーなどでは更新できませんでした。
header.phpをいじりました。幅が決められているのか、ウェブ上で開いても表示されず、携帯で見るとハンバーガーメニューには表示されました。以下はPC画面のメニューのコード部分です。
<code>
</li><br><li><br><br><br><div class="gnavi"><br> <ul class="inner clearfix"><br> <li id="gnavi01" class="parentMenu<?php if (is_page( array( 96, 2351 ) )): ?> current<?php endif; ?>"><br> <a href="/message/">たすくの理念</a><br> <ul class="childMenu"><br><br>~<br>~<br>~<br> <li id="gnavi07" class="parentMenu<?php if (is_page_template('page-contact.php')): ?> current<?php endif; ?>"><br> <a href="/contact/">お問い合わせ</a><br> </li><br> <li id="gnavi08" class="parentMenu<?php if (is_page_template('page-tsc.php')): ?> current<?php endif; ?>"><br> <a href="/tsc/">東京障害者福祉事業協同組合</a><br> </li><br> </ul><br> </div><!--gnavi--><br><br><br></li><br><li>
<code>
生成AIなどの力も借り、style.cssで幅の記述を探してみたり、ヘッダーに追加CSSを加えて、も行ってみましたが、表示はできませんでした。
対応策は、どんなことが考えられるでしょうか。
開発環境:OS Sonoma14.4.1、WP:6.7.1
(2025-5-15)こんにちは😃
対象のサイト URL を貼っていただけると何かわかることがあるかもしれません。
推測ですが、既存のWordPress サイトの場合ですと、管理画面からPHPのバージョン変更だけでなく、.htaccess や wp-config.php ファイルでパスを指定するなどの設定が必要かもしれませんね。
(2025-5-15)Hey @syouwarenzu,
Our support team at All in One SEO would love to help you troubleshoot this issue if you’re still interested in using our plugin. If so, please reach out to us in our support forum or through the free Basic Question form on our website.
(2025-5-13)解決したと思ったのですが、他のカテゴリーのトップページの一覧まで絞り込んでしまって、他のカテゴリーのアーカイブ一覧が表示されなくなってしまいました。
なので、AIと検討しながら作った下記のコードが完成形になります。
(文字化け防止コードの指定もあり)
●はカテゴリーIDの番号、blogはこの場合のカテゴリースラッグです。
ドロップダウンで月別アーカイブの投稿数()も取得する
‘limit’ => 24, // 2年間分の月別アーカイブを取得
‘limit’ => ”, // 空にすると、全期間のアーカイブが表示される
sidebar.php
<div class="archive">
<h3>月別アーカイブ</h3>
<select name="archive-dropdown" onchange="document.location.href=this.options[this.selectedIndex].value;">
<option disabled selected value>選択してください</option>
<?php
$archives = wp_get_archives(array(
'type' => 'monthly',
'limit' => 12,
'echo' => false,
'format' => 'custom'
));
$dom = new DOMDocument();
@$dom->loadHTML(mb_convert_encoding($archives, 'HTML-ENTITIES', 'UTF-8')); // UTF-8に変換して解析
foreach ($dom->getElementsByTagName('a') as $link) {
$url = $link->getAttribute('href');
$filtered_url = add_query_arg('cat', ●, $url);
// 年・月を取得
preg_match('/(\d{4})\/(\d{2})/', $url, $matches);
if (!empty($matches)) {
$year = intval($matches[1]);
$month = intval($matches[2]);
// blogカテゴリーの投稿数を取得
$args = array(
'category__in' => array(●),
'year' => $year,
'monthnum' => $month,
'posts_per_page' => -1,
);
$posts = get_posts($args);
$post_count = count($posts);
} else {
$post_count = 0; // デフォルトで0を設定
}
echo '<option value="' . esc_url($filtered_url) . '">' . htmlspecialchars($link->nodeValue, ENT_QUOTES, 'UTF-8') . ' (' . $post_count . ')</option>';
}
?>
</select>
</div><!-- /archive -->
↓投稿数なしの場合
<div class="archive">
<h3>月別アーカイブ</h3>
<select name="archive-dropdown" onchange="document.location.href=this.options[this.selectedIndex].value;">
<option disabled selected value>選択してください</option>
<?php
$archives = wp_get_archives(array(
'type' => 'monthly',
'limit' => 12,
'echo' => false,
'format' => 'custom'
));
$dom = new DOMDocument();
@$dom->loadHTML(mb_convert_encoding($archives, 'HTML-ENTITIES', 'UTF-8')); // UTF-8に変換して解析
foreach ($dom->getElementsByTagName('a') as $link) {
$url = $link->getAttribute('href');
$filtered_url = add_query_arg('cat', ●, $url);
echo '<option value="' . esc_url($filtered_url) . '">' . htmlspecialchars($link->nodeValue, ENT_QUOTES, 'UTF-8') . '</option>';
}
?>
</select>
</div><!-- /archive -->
function.php の記述 他のカテゴリーのアーカイブに影響をあたえない設定
//特定カテゴリー月別アーカイブ(blogカテゴリーのスラッグblogのみ表示)
function filter_blog_archives($query) {
if ($query->is_main_query() && !is_admin() && is_archive()) {
// 特定のカテゴリースラッグ(blog)の場合のみ絞り込み
if (is_category('blog')) {
$query->set('category__in', array(●));
}
}
}
add_action('pre_get_posts', 'filter_blog_archives');
(2025-5-13)
ありがとうございます。
All in One SEO Pack を無効化し、エラーが出なくなりました。
分かりやすく教えていただき大変ありがとうございました。
(2025-5-12)エラー文の内容からしてプラグイン All in One SEO Pack が引き起こしています。
最新版でなければ更新して確認して、更新しても発生するようならプラグインを停止してください。
トピックのタイトルからして Lightning に重大な不具合があるような誤解を与えますので、症状が解消しましたらトピックを早急に解決済みにしてください。
(2025-5-12)大塚のサーバは使ったことがないので、全部推測です。
「ファイルマネージャーの一番上の階層」が本当に、Webルートディレクトリなのか?という疑問が一つあります。
サーバ上のどの階層がWebルートなのかは、サイトヘルスで確認できます。管理画面ダッシュボードから、ツール>サイトヘルスと開いてください。開いたページで情報タブをクリックすると、いろいろ情報がありますが、「ディレクトリとサイズ」というのを見ると、ワードプレスのインストールディレクトリが、そのサーバのファイルシステム上のどこにあるのかが「WordPressディレクトリの場所」に書いてあります。それを参考にフィイルマネージャー上でその位置を探してください。WordPressをWebルートにインストールしたなら、そのWordPressのディレクトリが、そうではなくサブディレクトリにインストールして、.htaccessで上の階層になるように仕込んであるならその一つ上のディレクトリがWebルートのはずです。そこにphpinfo.phpをおいてやればいいです。
もしくは、phpinfo()の結果を表示するプラグインを使うという手もあります。これなら、そのWordPressを動かしているそのもののPHPの情報が出ます。例えば、「phpinfo() WP」とかのプラグインがあります。
さて、ご存知かと思いますが、そのサーバのファイルシステム上の本当のルートディレクトリ、ファイルマネージゃ的なもののトップのディレクトリ、Webサーバが表示するWebルートディレクトリは、全部別物(設定によっては、2番目3番目は同一の可能性あり)なので、ご注意ください。
(2025-5-12)すみません、自己解決しました。カテゴリーを絞れるコードをsidebar.phpとfunction.phpの両方に設定して、月別アーカイブに特定のカテゴリーだけ表示させることができました。
サイドバーはドロップダウンの表示、投稿件数()表示「’show_post_count’ => 1,」付きの設定です。
●はカテゴリーIDの番号(数字)blogはこの場合のカテゴリースラッグです。
sidebar.php
<div class="archive">
<h3>月別アーカイブ</h3>
<select name="archive-dropdown" onchange="document.location.href=this.options[this.selectedIndex].value;">
<option disabled selected value>選択してください</option>
<?php wp_get_archives(array(
'type' => 'monthly',
'format' => 'option',
'show_post_count' => 1,
'category' => ● // blogカテゴリーのみ
)); ?>
</select>
</div><!-- /archive -->
function.php に下記を記述しました。
●はカテゴリーIDの番号、blogはこの場合のカテゴリースラッグです。
お使いの場合は皆様が設定されたカテゴリー名を入れて下さい。もっと素敵なコードがあるのでしょうが、私の場合は、カテゴリースラッグとカテゴリーID番号の2つをfunction.phpに記載しないと、カテゴリーで絞りこみできませんでした。
//特定カテゴリー月別アーカイブ(blogカテゴリーのスラッグblogのみ表示)
function custom_get_archives_where($where, $args) {
global $wpdb;
$where .= $wpdb->prepare(" AND ID IN (SELECT object_id FROM {$wpdb->term_relationships} WHERE term_taxonomy_id = (SELECT term_id FROM {$wpdb->terms} WHERE slug = %s))", 'blog');
return $where;
}
add_filter('getarchives_where', 'custom_get_archives_where', 10, 2);
//特定カテゴリー月別アーカイブ(blogカテゴリーID=●のみ表示)
function filter_blog_archives($query) {
if ($query->is_main_query() && !is_admin() && is_archive()) {
$query->set('category__in', array(●)); // blogカテゴリーのみ表示
}
}
add_action('pre_get_posts', 'filter_blog_archives');
(2025-5-12)
以下と重複しています。
重複投稿はご遠慮願います。
(2025-5-12)だいぶお日にちが空いてからで申し訳ありません。
大塚商会さんには連絡いたしましたが、サーバー側は問題ないとのご回答でした。
また、phpinfoでバージョンを確かめるように言われましたが、ファイルマネージャーの一番上の階層にphpinfoを作成し、URLをダイレクト入力して表示させようとしてもページが見つかりませんとなります。
ファイルマネージャーが正常ではないのかと思い再度問い合わせをし、上記現象も確認していただきましたが、表示のされ方が、指定された部分にページが見つからないと表示されるので、ワードプレスでリダイレクト設定などの設定が原因でphpinfoが表示されないのではないか?との回答でした。
PHPのバージョンを更新が反映されない理由と、リダイレクト設定が干渉してphpinfoが表示されない理由はまた別とのことだったのですが、どちらにしてもWordPress様に問いわせするように言われました。
PHPバージョンの更新が反映されない場合の原因は、他にありますでしょうか?
(2025-5-12)ドキュメントのリンクありがとうございます!
template_part_header
コンテキストは例外的にabove the fold扱いになる事が分かり、疑問解決に至りました。
また以下のコードでget_header()がthe_content()の出力に影響する理由がコンテキストの分離が正しく行えておらず、get_header()の呼び出しによりその後のthe_content()に意図しない副作用(above the fold扱い)をもたらしているものだと理解しました。
<?php
get_header(); // NOTE: ここの有無でloading属性が付与されたり・されなかったりする
the_content();
?>
テンプレートパーツで読み込む以下の記述にすることでコンテキストの分離が正しく行え、template-parts/content.phpでは期待通りのloading="lazy"
属性が付与される事が分かりました。
<?php
get_template_part('template-parts/header');
get_template_part('template-parts/content');
?>
(2025-3-22)
WordPressのテーマにて、get_header()
の有無でthe_content()
より出力されるimgタグにloading="lazy"
が付与されたり・されなかったりする挙動が見られるようですが、これは仕様でしょうか?
Ver 6.3.5まではget_header()
の有無で挙動は変わらないようですが、Ver 6.4系以降get_header()
があるとloading属性は付与されないようでした。
以下は挙動の確認をまとめた表です。
確認に用いたコードは以下リポジトリよりご参照頂けます。
https://github.com/TsubasaHiga/wp-lazy-test-theme
以下は確認環境です。
Ver 6.3.5get_header()
あり(loading属性あり)
https://sweet-router.localsite.io/hello-world
amusement / loving
get_header()
なし(loading属性あり)
https://innate-sunrise.localsite.io/hello-world
recipe / flashy
Ver 6.4.0(以降すべて同様の挙動のようです)get_header()
あり(loading属性なし)
https://cuddly-spiral.localsite.io/hello-world
parachute / general
get_header()
なし(loading属性あり)
https://panicky-mine.localsite.io/hello-world
jewelry / noiseless
仕様でしたらこの辺りのドキュメントを探しておりますので、ご存知の方がいらっしゃいましたら教えていただけますと幸いです。
(2025-3-20)こんにちは😃
その後、状況いかがですか?
これはあくまでも想像ですが、子テーマの category.phpを削除で解決しそうな気がしています。
archive.php とか loop.php の中で条件分岐させてるとかだと、話は別です。
いろいろ試してみましたが
いろいろでは、何をどう試したのかが分からないので、具体的に何をどうしたのかを説明してもらえないでしょうか?
子テーマの中身は確認されましたか?
確認されたのであれば、中にどんなファイルがあるか教えてください。
Yukinobu Asakawa(@yukinobu) さん
まーちゅう(@rocketmartue) さん
ありがとうございます。
ご教授を受けて、いろいろ試してみましたが力不足で、できませんでした。
カテゴリーページの
https://mowappu.jp/category/notice/ を
タグページの
https://mowappu.jp/tag/tg-notice/ と同じような「タイル表示」にしたいだけなのですが…。
なにかいい方法、ありませんでしょうか?
こんにちは。
https://mowappu.jp/category/inform/ のサイトを確認しましたが、実際に使用されているテーマは、「マテリアル2」ではなくて、「マテリアル」の子テーマのようです。
/*
Theme Name: マテリアル_child
Template: wp_material
Description: マテリアルの子テーマ
Version: 1.1.0
Author URI: http://wp-material.net
*/
/*
Theme name: マテリアル
Author: Nobuo_CREATE
Author URI: http://wp-material.net
Version: 4.0
*/
テーマのデフォルトの状態だと、カテゴリーページもタグページと同じレイアウトです。
子テーマ側で、何かカスタマイズされていると思いますので確認してみてください。
こんにちは👋
すみません。
お尋ねの「マテリアル2」テーマですが、WordPress.org 掲載のテーマ以外は、規約上、このサポートフォーラムでサポートすることができません。
お役に立てず申し訳ありませんが、ご了承ください。
その上でですが、「マテリアル2」テーマの情報を少し検索しましたが、情報が少なく、今現在も配布・サポートされているのでしょうか?
もし配布もサポートも終了している場合には、お問い合わせすることも現実的に難しいと思いますし、
古いテーマを使い続けることはセキュリティー上のリスクを抱えることになりますので、おすすめできません。
今のテーマであれば、ご質問の内容についてもブロックテーマ、ブロックエディターで比較的簡単に編集ができると思いますので、サイトの運用も今後もお続けになるご意向なのであれば、見直しすることもご検討ください。
(2025-3-8)「マテリアル2」のカテゴリページテンプレートについて、ご教授ください。
古いテーマであることは十分承知していますが…。
タグページや年月アーカイブのページは、タイル状に表示されますが、カテゴリページのみ総覧で表示されてしまいます。
カテゴリページ
https://mowappu.jp/category/inform/
タグページ
https://mowappu.jp/tag/tg-inform/
タグページや年月アーカイブのページと同じように、カテゴリページもタイル状に表示したいと考えています。
どのように修正や設定すればよろしいでしょうか?
お分かりいただける方、ご教授いただければ幸いです。