#概要
自作ショートコード内で、
変数Cを定義して出力したいのですが、
期待した数値が出ません。
##エラー内容
Query Monitorで下記のエラーがでます。
mb_strlen() expects parameter 1 to be string, array given
##コード
php
1if(count($変数A) > 0){ 2 $変数C = round(mb_strlen($変数A)/$変数B); 3 //$変数Cの処理内容 4 return $変数C; 5 } 6} 7else 8{ 9 $変数B = 0; 10 $変数C = ''; 11} 12} 13add_shortcode('text', 'name'); 14
上記のコードはおかしく無いのではと考えます。
##疑問点
エラーコードは
「変数A & 変数Bを配列でなくせ」という意味ですが、具体的にどう言った処理で解決できるでしょうか。
##以下追記
ショートコードの目的は
各postに5段階レビューがあり、
post-title毎の平均値を割り出すためです。
その材料として変数を定義しました。
###変数の定義
$変数A = $wpdb->get_row($wpdb->prepare( "SELECT meta_value from $wpdb->postmeta where meta_key = '_key-name' AND post_id = %d", $value->id) );
$変数B = = $wpdb->get_var( "SELECT count(*) FROM $wpdb->posts INNER JOIN $wpdb->postmeta pm ON ($wpdb->posts.id = pm.post_id) WHERE $wpdb->posts.post_status = 'status-name' AND $wpdb->posts.post_type = 'type-name' AND pm.meta_key = '_key-name' AND pm.meta_value LIKE \"{$posttitle}%\" ");
変数の定義部分を質問文に追記してください。
回答1件
あなたの回答
tips
プレビュー