mocomoco
フォーラムへの返信
-
フォーラム: 使い方全般
返信が含まれるトピック: 現在表示している記事のタイトルをハイライトしたいやりたいことの実現の前にご提示いただいた現在のコードが正しい形になっていないようなので、以下の形が基本形となるようにしましょう。
<?php $myposts = get_posts('category=21 & showposts=30 & order=ASC'); foreach($myposts as $post) : setup_postdata($post); ?> <?php the_title(); ?> <?php endforeach; wp_reset_postdata(); ?>
本題の記事タイトルハイライトについてですが、
やりたいこと:
特定のカテゴリに属する記事タイトル一覧をサイドバーに表示させているのですが
現在表示させている記事を開いている時にサイドバーのタイトル部分をハイライトしたいですこの内容を実現するためのステップは以下の通りです。
1.現在表示中のページが記事詳細ページの場合、その記事のIDを変数に入れておく。
2.一旦保持してある変数とget_post()で得た記事のIDを比較していき、同一のIDがあった場合、タイトルのclassにcurrentを付加する。このステップをコード化すると以下のようになります。
<?php if(is_single()) { $current_id = get_the_ID(); } //投稿記事詳細ページの場合のみIDを取得 $myposts = get_posts('category=21 & showposts=30 & order=ASC'); foreach($myposts as $post) : setup_postdata($post); if(isset($current_id) && ($current_id == $post->ID)) { //$current_idと同一の投稿IDだった場合 the_title('<span class="current"">','</span>'); //classにcurrentを付与(ここは任意に変更してください) } else { the_title(); } endforeach; wp_reset_postdata(); ?>
フォーラム: 使い方全般
返信が含まれるトピック: 正しい画像が表示されない今までの回答の内容はhtmlおよびphpの初歩的な知識がないと導入は難しいですね。
Wordpressを便利に使うには是非html, css, phpの勉強をおすすめしますが、
どうしてもそれらに触れずに実現したいという事でしたらプラグインを使用する方法もあります。
(ただし、今回のご質問の内容を実現するためだけには少し規模が大きいプラグインなので、サイトパフォーマンスへ少なからず影響する可能性があります。)以下、手順を示します。
1.管理画面のプラグイン>新規追加から「All In One SEO Pack」を検索し、インストールします。
2.管理画面のAll in One SEO>Feature Managerから「Social Meta」の右下にある「Activate」をクリック。
3.管理画面のAll in One SEO>Social Metaから「Image Settings」の項目を探し、その中のSelect OG:Image Sourceの右側の「Default Image」となっている部分を「First Image In Content」に変更。
4.最後に「設定を更新」をクリックして完了です。フォーラム: プラグイン
返信が含まれるトピック: posts 2 posts を使用して関連付けた記事をターム毎に表示したいご質問の条件をテストサイトに再現し、p2pテーブルを覗いてみましたが、
posts 2 postsが単純に記事に対して記事を関連づけるという機能なため、タクソノミーやターム関連のまとめ表示は想定されていないようですね。少し回りくどい方法かもしれませんが、ご希望の出力を行うコードを書いてみました。
関連記事一覧をID配列として取得し、そのID配列が所属する’bland’ termsを取得、
termsをforeachでそれぞれのtermについて属する記事を取得し直し出力するという流れです。あまり良い例ではないかもしれませんが、ご参考までに。
<?php // Find connected weeks $connected = new WP_Query( array( 'connected_type' => 'wheel_to_car', // the name of your connection type 'connected_items' => get_queried_object(), 'nopaging' => true, ) ); $my_post_ids = wp_list_pluck($connected->posts,'ID'); //ID配列を取得 //取得したID配列が所属するblandタームを取得 $terms = wp_get_object_terms( $my_post_ids, 'bland', array( 'orderby' => 'name', 'order' => 'ASC', 'fields' => 'all' )); foreach ( $terms as $term ) : //タームそれぞれについての処理 echo esc_html($term->name); //ターム名出力 $connected = new WP_Query( array( 'connected_type' => 'wheel_to_car', // the name of your connection type 'connected_items' => get_queried_object(), 'nopaging' => true, 'tax_query'=> array( array( 'taxonomy' => 'bland', 'field' => 'slug', 'terms' => array($term->slug) ) ) ) ); //タームに属する記事を取得 if ($connected->have_posts()) : while ( $connected->have_posts() ) : $connected->the_post(); ?> <?php $title= mb_substr($post->post_title,0,12); echo $title . '...';?> <?php endwhile; endif; wp_reset_postdata(); endforeach; ?>
フォーラム: 使い方全般
返信が含まれるトピック: 正しい画像が表示されないご質問の前提部分であやふやな部分があるため、食い違いが起こっているようです。
一旦前提について整理してみましょう。まず2つのサイト
・楽天ソーシャルニュース
・uneiyouさんご自身のWordpressサイト(以下、自サイト)
があり、自サイトで作成した記事を楽天ソーシャルニュースに対して投稿する。その際に、楽天ソーシャルニュース側から、自サイトの記事の一番最初の画像を楽天ソーシャルニュースに表示するサムネイル画像として読み込んで欲しい。
というご質問でよろしいですか?この場合、楽天ソーシャルニュースの仕様として、
「サムネイル画像につきましては、 各ページに設定されている「og:image」 の画像が表示される仕様となっております。 つきましては、投稿元サイトの構成について、 「og:image」 を記事固有の画像に設定いただきますようお願いいたします。」
とあるようですので、自サイトの記事のソース上で
<head>
と</head>
の間に以下の記述があれば良いことになります。
<meta property="og:image" content="表示したい画像のURL">
以下のサイトにてアイキャッチ画像をog:imageに設定する手法が解説されていましたのでこちらを参考にされると良いかもしれません。
(なお、htmlに加えてphpをいじる必要があるため、書き換えは慎重に行うようにしてください。)
http://negimemo.net/1204回答とは直接関係は無いですが、回答者の文章を引用して返信する場合は、その部分が引用であることがわかりやすいよう>や改行を使用すると読みやすくなりますよ。
>○○にすればオッケー
○○がわからないっすー
といった具合にするとグッドです。
フォーラム: 使い方全般
返信が含まれるトピック: ページナビを禁止する方法がありますか?本来想定されているWordpress的な仕様は、トップページに記事一覧があり、
表示しきれない記事を2ページ目、3ページ目とページ送りして表示するのが基本形
となっています。ご提示いただいたサイトでもその仕様通りの挙動のため、
1ページにつき1件しか表示しない一覧ページがあるという状態です。
(posts_nav_linkで…blog/page/2/ にリンクされるのもこれが理由です。)アプローチとしては二通り考えられます。
・blog/page/2/などのページを無効化するではなく本来の一覧ページの意味として使う。
・blog/page/2/のようなトップページからのページ送り自体を無効化する。個人的にはユーザーの利便性を考えた場合は前者をオススメしますが、
ページ送り自体を無効化したいとのことですので、後者の方法について至極簡素な内容ですが、以下の内容をお試しください。トップページのページ送りを無効化するには、
固定ページをフロントページにするとページ送りが効かなくなる挙動を
逆に利用してやると簡単かもしれません。・トップページにしたい固定ページを新たに作成する(スラッグをtoppageにする)
・メインループの代わりにget_posts()を使って最新記事を1件のみ取得するpage-toppage.phpを作成する。
・ダッシュボードから外観>カスタマイズ>固定フロントページ>固定ページを選択し、先ほど作成した固定ページを指定する。現在ご使用のテーマの状況がわからないため、上記の方法はあくまで状況を推測した上での
対処方法となります。
うまく行かない可能性もありますので、ご自身で色々試してみてください。フォーラム: 使い方全般
返信が含まれるトピック: ログイン画面でのエラーそのエラーは必須ファイルmisc.phpが見つかりませんという意味です。
misc.phpはWordpressのコアファイルの一部なので、削除するとマズイものです。misc.phpを復元した後、
>この表示がされる前は、misc.phpにエラーがあるというような表示だったので、
この部分について改めて詳しい内容を質問するようにしてください。
フォーラム: プラグイン
返信が含まれるトピック: 【MW WP Form】問い合わせデータのCSVについて現在のバージョン(2.4.4)で全475件(画面表示20件)のcsvダウンロードを
「Download All」チェックありなしで確認したところ、チェックあり:475件分のcsvダウンロード
チェックなし:20件分のcsvダウンロードとなり、正常に機能している事を確認しました。
もしかしたらご使用のMW WP Formがcsv関係のバグが残ったバージョンの可能性があるため、MW WP Formの更新を検討されてみてはいかがでしょうか?
(現在お使いのバージョンのバックアップを取ってから更新される事をおすすめします。)フォーラム: 使い方全般
返信が含まれるトピック: 全てのページにヘッダーを設置したいオリジナル版の場合、該当のコードはheader.phpではなく、Hinaloeさんの提示した通り、
incフォルダの中のtheme-options.phpの616行目に存在します。ヘッダー(スライダー画像)を表示しているのが、header.phpの
<?php echo get_biz_vektor_header_image_home();?>
ですが、この関数の中身がincフォルダの中のtheme-options.phpの616行目付近にあるというわけです。あとはincフォルダの中のtheme-options.phpの616行目
if (is_front_page() && ( biz_vektor_slideExist() || get_header_image()) ) {
をヘッダー画像を全ページに表示したいと同じように
if ( ( biz_vektor_slideExist() || get_header_image()) ) {
のように書き換えればオッケーです。