複雑なテーマでfunctionが書き換えられない時
phpコードをウイジェットに追加する方法

Posted on

前回、固定ページ(他ウイジェットの「テキストメニュー」にも書き込み可能)に、phpを書き込む際は
function.phpに、ショートコードの有効化する記述をし
任意の ショートコード名php内に php及びhtml記述して、その部分を[ショートコード]挿入で表示しました。

http://mamapocket.net/wp/archives/1049

今回は、
サイドメニューから特定カテゴリー記事の一覧(日付とタイトル)を表示するために
ウイジェットを使ったサイドメニューに、phpを直接書きこめるようにプラグインを追加しました。

PHP Code Widget

(プラグインは開発、更新が終了することがあるので、アップデート時不具合出ることが稀あるので、
 php書き換えで行えそうなカスタマイズでは、あまり頼りたく無いのですが・・・
 今回は、高性能なテーマで、内部エラーの箇所が見つけられず、プラグインに頼りました。)

PHP Code Widgetを有効化すると
ウイジェットに「PHP Corde」というメニューが増えています。

通常通り、ドラッグで任意のメニューエリアに置いて、
いきなり、phpを書きこむだけです!!

(function.php書き込むと不具合が出た複雑なテーマにも影響がありませんでした。)

今回書きこみたかったのが以下。

<?php $posts = get_posts('category_name=news&showposts=5'); global $post;?>
<?php if($posts): foreach($posts as $post): setup_postdata($post); ?>
<ul>
<li>
<?php the_time('Y年m月d日'); ?> <a href="<?php echo get_permalink($post->ID); ?>"><?php echo $post->post_title; ?></a></li></ul>
<?php endforeach; endif; ?>

ここで、今回悩んで追加した箇所が・・・・global $post;

前回、特定カテゴリー名(スラグ名)newsのうち、最新5件取得する際使ったphpの先頭は
↓↓↓

<?php $posts = get_posts('category_name=news&showposts=5');?>

これだと、該当ページの投稿日を取得してしまい、サイドメニューの最新記事の投稿日が
各ページの投稿日を表示し、各々違う日付が5つ並ぶことに。
何考えるるネン!WPよ!とちょっと笑っちゃいました。^_^;

で、get_posts の後に、入れたのが”global $post;”
https://ja.forums.wordpress.org/topic/154
これで解決!!!

 
 


今回、いろんな箇所でカスタマイズ時迷子になったのは、Access Pressさんの高性能なテーマ。^_^;
https://accesspressthemes.com/themes/

独自のカスタマイズメニューもついているので、本来、その他の箇所は弄る必要もないと思うのですが
そこは、クライアント様のご意向に沿うように・・・
自分の勉強のためにも、できる限り、WPのご機嫌伺いながら。
ただ・・・テーマのバージョンによっても、
直接、functionに書き込んでも支障がなかったりしたので
どのバージョンに当るかは、運なのかもしれません?えっ?ですね。
毎度、自分用メモで失礼しました。


WPにPDFを直接表示させるプラグインテスト

Posted on

ビジュアル投稿モードで、メディアライブラリーからPDFを選択し
ファイルのURLをコピペするだけで、PDFビューのまま投稿できるプラグインのテストです。

(メディア追加でPDFをアップロードする必要があります。)

PDF Embedder

https://ja.wordpress.org/plugins/pdf-embedder/

※他にも類似プラグインは見つかったのですが、更新されていて最新WPとの動作テストがされていたプラグインを選びました。
※この投稿時のWPのバージョン4.2.2

mamapo_A4