質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

3回答

1947閲覧

【初投稿】外部サイトにて作成されたWordpressプラグインの導入に関して

poteton

総合スコア13

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2019/03/01 02:23

外部サイトにて作成されたWordpressプラグインの導入に関して

初めて投稿させていただきます、よろしくお願いします。
私はWordpress(バージョンは最新版)にてブログを投稿しています。
自由にカスタマイズが出来るいいねボタンを探して色々と調べて、やっと求めていたいいねボタンのサイトにたどり着きました。

こちらのFISH&BREADさんのサイトが作成したBF Click Counterというプラグインです。

ただ、Wordpress上のプラグインに公開していないという事でコードだけサイトに公開されていました。
サイトの設置方法を見ながら有効化させる所までは出来たのですが、使い方のショートコードを記述しても私のサイトに反映されず、ショートコードのまま反映されてました。
記述したショートコード→[bfcc id="test"]てすと[/bfcc]

私はプラグイン・PHPに関して全くの無知です。
原因が分かる方がおりましたら教えていただけますでしょうか。

発生している問題

ショートコードを記述してもいいねボタンが反映されない。

該当のソースコード

PHP

1<?php 2/* 3Plugin Name: BF Click Counter 4Author: Taichi MARUYAMA 5Plugin URI: http://maruyama.breadfish.jp/ 6Description: シンプルなクリックカウンターです。 7Version: 0.11 8Author URI: http://maruyama.breadfish.jp/ 9Text Domain: bf-click-counter 10*/ 11 12global $wpdb; 13global $bf_click_counter; // IDをキーにしてカウント数を格納 14global $bf_click_ip; // IDをキーにしてIPアドレスを格納 15 16/** 17 * DBで使うテーブル名を返す 18 * 19 * @access public 20 * @return void 21 */ 22function bf_click_counter_get_table_name() { 23 24 global $wpdb; 25 return $wpdb->prefix . "bf_click_counter"; 26 27} 28 29/** 30 * アクティベーション。テーブルの作成を行う。 31 * 32 * @access public 33 * @return void 34 */ 35function bf_click_counter_activation() { 36 37 global $wpdb; 38 $charset_collate = $wpdb->get_charset_collate(); 39 $table_name = bf_click_counter_get_table_name(); 40 41 $sql = "CREATE TABLE $table_name ( 42 id mediumint(9) NOT NULL AUTO_INCREMENT, 43 keyname text NOT NULL, 44 count int NOT NULL, 45 ipaddress text NOT NULL, 46 register_datetime datetime DEFAULT '0000-00-00 00:00:00' NOT NULL, 47 update_datetime datetime DEFAULT '0000-00-00 00:00:00' NOT NULL, 48 UNIQUE KEY id (id) 49 ) $charset_collate;"; 50 51 require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); 52 dbDelta( $sql ); 53 54} 55 56register_activation_hook(__FILE__, 'bf_click_counter_activation'); 57 58/** 59 * ロード時に変数を初期化する. 60 * 61 * @access public 62 * @return void 63 */ 64function bf_click_counter_initialize() { 65 global $wpdb, $bf_click_counter, $bf_click_ip; 66 $bf_click_counter = array(); 67 $table_name = bf_click_counter_get_table_name(); 68 69 $results = $wpdb->get_results("SELECT * FROM $table_name"); 70 foreach($results as $one) { 71 $bf_click_counter[$one->keyname] = $one->count; 72 $bf_click_ip[$one->keyname] = $one->ipaddress; 73 } 74} 75add_action('init', 'bf_click_counter_initialize'); 76 77/** 78 * ショートコードの処理。ボタン(カウント数)を表示する 79 * 80 * @access public 81 * @param mixed $atts 82 * @return void 83 */ 84function bf_click_counter_display($atts) { 85 global $bf_click_counter; 86 87 extract(shortcode_atts(array( 88 'id' => '0', 89 ), $atts)); 90 91 // カウンターがすでにある場合 92 if (array_key_exists($id, $bf_click_counter)) { 93 return '<a href="javascript:void(0);" class="btn btn-default bf-click-counter" data-id="' . $id . '">いいね(<span class="count">' . $bf_click_counter[$id] . '</span>)</a>'; 94 } 95 96 // カウンターがない場合はカウント数ゼロでボタンを表示 97 return '<a href="javascript:void(0);" class="btn btn-default bf-click-counter" data-id="' . $id . '">いいね(<span class="count">0</span>)</a>'; 98} 99add_shortcode('bfcc', 'bf_click_counter_display'); 100 101/** 102 * JavaScript(Ajax)の出力(いいねボタンの押下を受け付ける) 103 * 104 * @access public 105 * @return void 106 */ 107function bf_click_counter_ajax() { 108?> 109 <script> 110 var bf_ajaxurl = '<?php echo admin_url( 'admin-ajax.php'); ?>'; 111 112 jQuery(function() { 113 jQuery('.bf-click-counter').click(function() { 114 var self = this; 115 jQuery.ajax({ 116 type: 'POST', 117 url: bf_ajaxurl, 118 data: { 119 'id' : jQuery(this).attr('data-id'), 120 'action' : 'bf_click_counter_countup', 121 }, 122 success: function( response ){ 123 jQuery(self).find('.count').html(response); 124 } 125 }); 126 127 return false; 128 }); 129 }) 130 131 </script> 132<?php 133} 134add_action( 'wp_head', 'bf_click_counter_ajax'); 135 136/** 137 * Ajaxの受付処理 138 * 139 * @access public 140 * @return void 141 */ 142function bf_click_counter_countup(){ 143 bf_click_counter_initialize(); 144 global $wpdb, $bf_click_counter, $bf_click_ip; 145 $id = $_POST['id']; 146 $ipaddr = $_SERVER["REMOTE_ADDR"]; 147 $nowdate = date('Y-m-d h:m:s'); // 登録日付 148 149 // カウンターがすでにある場合、インクリメントしてDBをアップデート 150 if (array_key_exists($id, $bf_click_counter)) { 151 // 同じIPからの連続いいねは阻止 152 if ($bf_click_ip[$id] != $ipaddr) { 153 $bf_click_counter[$id]++; 154 $wpdb->update(bf_click_counter_get_table_name(), array('count' => $bf_click_counter[$id], 'ipaddress' => $ipaddr, 'update_datetime' => $nowdate), array('keyname' => $id)); 155 } 156 157 // カウンターがない場合、DBにインサート 158 } else { 159 $bf_click_counter[$id] = 1; // 初期値は1 160 $wpdb->insert(bf_click_counter_get_table_name(), array('keyname' => $id, 'count' => 1, 'ipaddress' => $ipaddr, 'register_datetime' => $nowdate)); 161 } 162 echo $bf_click_counter[$id]; 163 die(); 164} 165add_action( 'wp_ajax_bf_click_counter_countup', 'bf_click_counter_countup' ); 166add_action( 'wp_ajax_nopriv_bf_click_counter_countup', 'bf_click_counter_countup' );

試したこと

いじった所で言うと
最初に普通に保存したらプラグインが認識されなかったので
文字コードUTF-8で保存したら認識されました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dit.

2019/03/01 04:56

`[`が全角になっていないか確認してください
poteton

2019/03/01 05:52

あっ・・・・全角になっていました^^; 半角にしたら正常に反映されました! 道理で反映されないわけですね・・・ サイトから直接コピペしたのがいけなかったんですね ありがとうございます!!
guest

回答3

0

3分でわかる!WordPressでプラグインをインストールする2つの方法 | FREE SWORDER

WordPress非公式のプラグインをインストールする方法
をどうぞ。

投稿2019/03/01 03:13

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

poteton

2019/03/01 04:00

回答ありがとうございます。 ですが、質問本文にある通りプラグインの有効化までは出来ているので他の原因が分かれば教えていただきたいです。
poteton

2019/03/01 05:53

解決しました、ありがとうございました!
guest

0

ショートコードの[]が半角ではなく、全角になっている初歩的なミスでした。
回答していただいた方、ありがとうございました。

投稿2019/03/01 05:59

poteton

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

自己解決

ショートコードの[]が半角ではなく、全角になっている初歩的なミスでした。
回答していただいた方、ありがとうございました。

投稿2019/03/01 05:56

poteton

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問