私はviewsプラグインによる小さな投稿を書きましたが、少なくとも始めは開始しました。
私のテーブルはセットアップされていますが、それらが更新されると、投稿がロードされてビューが追跡されるときにコードは私のテーブルに2つのエントリーを追加します。私は文字通り、なぜこれが起こっているのかわかりません。 DBテーブルに入力された2番目の投稿IDは、ロードされた投稿の直後の投稿です。例:表示されている投稿がid = 121の場合、コードは投稿121と124を追加します。
これが私の挿入コードです。
if( is_single() && !is_page() ):
// add a new data row into the views DB table with the post ID
$wpdb->query("INSERT INTO {$ppbv} (post_id, post_type) VALUES ('{$post->ID}','{$post->post_type}');");
$data = $wpdb->get_row("SELECT * FROM {$ppbv_total} WHERE post_id='{$post->ID}'", ARRAY_A); // get the data row that has the matching post ID
if(!is_null($data)): // if we have a matching data row
$new_views = $data['views'] + 1; // increase the views by 1
// update the data row with the new views
$wpdb->query("UPDATE {$ppbv_total} SET views='{$new_views}' WHERE post_id='{$post->ID}';");
else: // if we don't have a matching data row (nobody's viewed the post yet)
// add a new data row into the DB with the post ID and 1 view
$wpdb->query("INSERT INTO {$ppbv_total} (post_id, post_type, views) VALUES ('{$post->ID}','{$post->post_type}','1');");
endif;
endif;
誰かがこれに光を当てることができれば私はそれを高く評価するでしょう!
$location = $_SERVER[‘DOCUMENT_ROOT’];
include ( $location . '/wp-config.php' );
include ( $location . '/wp-load.php' );
global $wpdb;
$contactus_table = $wpdb->prefix."user";
if( isset( $_POST['submit'] ) ) {
$name=$_POST['name'];
$email=$_POST['email'];
$phone=$_POST['phone'];
$message=$_POST['message'];
$sql = "INSERT INTO $contactus_table
(`name`,`email`,`phone`,`message`)VALUES
('$name','$email','$phone','$message')";
if( $wpdb->query( $sql ) ) {
echo "data is inserted";
}
}