kzen.dev
  • Pertanyaan
  • Tag
  • Pengguna
Notifikasi
Imbalan
Registrasi
Setelah Anda mendaftar, Anda akan diberitahu tentang balasan dan komentar untuk pertanyaan Anda.
Gabung
Jika Anda sudah memiliki akun, masuk untuk memeriksa pemberitahuan baru.
Akan ada hadiah untuk pertanyaan, jawaban, dan komentar tambahan.
Lebih
Sumber
Sunting
 Breno
Breno
Question

Cara memasukkan data dengan benar ke dalam tabel kustom melalui plugin

Saya memiliki plugin yang membaca data dari file yang diunggah dan menjalankan kueri pada database wp. Sisipan ini masuk ke dalam tabel yang dibuat oleh plugin saya, jadi ini bukan tipe postingan.

Beginilah cara saya membuatnya bekerja:

$connection = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
mysqli_query($connection, $query);

Masalahnya adalah saya harus mendeklarasikan variabel-variabel ini ($db_host, $db_user, $db_pass, $db_name) di dalam kode sumber plugin.

Apakah ada cara untuk memasukkan data ke dalam tabel kustom saya dengan wp api? Atau adakah cara agar saya dapat mengambil variabel-variabel ini dari file eksternal yang dapat saya abaikan dalam pengaturan kontrol versi?

5 2016-07-14T16:47:32+00:00 3
WordPress
plugins
database
php
mysql
Solution / Answer
Samuel Elh
Samuel Elh
14 Juli 2016 в 9:04
2016-07-14T21:04:58+00:00
Lebih
Sumber
Sunting
#21336969

Itu bukan praktik yang baik untuk mencoba menghubungkan DB dengan metode Anda sendiri sementara WP melakukannya untuk Anda pada awalnya.


Masalahnya adalah saya harus mendeklarasikan variabel-variabel ini ($db_host, $db_user, $db_pass, $db_name) di dalam sumber plugin kode.

Semua properti ini didefinisikan dalam file wp-config.php, yang terletak di area root.

Jika Anda ingin mendapatkan konstanta-konstanta ini, cukup sertakan file tersebut dan panggil konstanta-konstanta tersebut, atau gunakan REGEX (lebih baik gunakan REGEX, karena mungkin ada pemanggilan lain yang memerlukan pemuatan WordPress)

// loading the config file to pull the DB_* constants
$dirname = dirname(__FILE__);
$root = false !== mb_strpos( $dirname, 'wp-content' ) ? mb_substr( $dirname, 0, mb_strpos( $dirname, 'wp-content' ) ) : $dirname;
// if $root is not correct, provide a static path then, $root = '/path/to/root/dir'
// assuming constants are ready (wp is configured), let's get them.
require_once( $root . "wp-config.php" );
echo var_dump(
    'DB name', DB_NAME,
    'DB user', DB_USER,
    'DB password', DB_PASSWORD,
    'DB host', DB_HOST
);

Inilah solusi yang lebih baik:

Muat WordPress

require( '/wp-blog-header.php' ); Anda harus menyediakan jalur yang berfungsi ke file tersebut!

Untuk menguji apakah Anda telah berhasil memuat WordPress, buanglah sesuatu:

add_action("wp", function() { 
    echo sprintf( "Yes! I am creating with WordPress v. %s!\n", get_bloginfo("version") );
    exit("I exits\n");
});

Sekarang gunakan API DB WordPress

Untuk menyisipkan data, Anda dapat menggunakan wpdb::insert. Berikut sintaksnya

$wpdb->insert( $table, $data, $format ); dan contoh penggunaannya:

$wpdb->insert( 
    'messages', 
    array( 
        'PM_ID'     => (int) $pm_id,
        'sender'    => $current_user->ID,
        'recipient' => (int) $recipient,
        'message'   => "Hello!\n",
        'date'      => time()
    )
);
$record_id = $wpdb->insert_id;

Pada contoh, larik dalam $wpdb->insert ' param ke-2 adalah sebuah larik dengan indeks sebagai nama kolom, dan nilai yang akan disisipkan untuk kolom-kolom tersebut dalam sebuah record independen yang dapat Anda peroleh ID-nya dengan $wpdb->insert_id yang akan memperoleh ID penyisipan record terakhir dalam tabel tersebut.

Semoga ini membantu, setidaknya Anda menjauhi injeksi SQL menggunakan $wpdb::insert atau pernyataan yang sudah disiapkan, bukan query langsung.

Samuel Elh
Samuel Elh
Jawaban edit 14 Juli 2016 в 9:20
7
0
Kecerdasan buatan untuk mengurai produk dari halaman mana pun
productapi.dev
Sabbir Hasan
Sabbir Hasan
14 Juli 2016 в 6:06
2016-07-14T18:06:17+00:00
Lebih
Sumber
Sunting
#21336961

Mengapa tidak mempelajari cara kerja $wpdb. Kunjungi https://codex.wordpress.org/Class_Reference/wpdb

Berikut ini adalah contoh cara memasukkan data ke dalam database menggunakan $wpdb

<?php
  global $wpdb;

  $wpdb->insert( 
    'table_name_here', 
    array( 
        'column1' => 'value1', 
        'column2' => 123 
    ), 
    array( 
        '%s', 
        '%d' 
    ) 
 );
?>

Kunjungi https://codex.wordpress.org/Creating_Tables_with_Plugins untuk informasi lebih lanjut.

3
0
Kecerdasan buatan untuk mengurai produk dari halaman mana pun
productapi.dev
Navin Bhudiya
Navin Bhudiya
19 Juli 2016 в 5:01
2016-07-19T05:01:38+00:00
Lebih
Sumber
Sunting
#21336978
<?php 
global $wpdb;
 $table="test_table";
$store_arr["name"]="test";
$store_arr["email"]="[email protected]";

$wpdb->insert( $table, $store_arr);
 ?> 
Pieter Goosen
Pieter Goosen
Jawaban edit 19 Juli 2016 в 5:03
-2
0
Related communities 12
Telegram Bot PHP - Indonesia
Telegram Bot PHP - Indonesia
9 550 pengguna
Pengen tau ada bot apa aja? Cek @botkoleksi Grup diskusi tentang pembuatan bot telegram menggunakan bahasa pemrograman PHP. Bahasa Lain, Tetap welcome. Diskusi bot lainnya @botIndonesia Ngobrol bebas di @indonesiabicara
Buka telegram
MySQL & MariaDB Indonesia
MySQL & MariaDB Indonesia
7 574 pengguna
Group belajar, diskusi, dan berbagi tentang DBMS MySQL dan MariaDB. Disclaimer: This group is not in any affiliation nor maintained by Oracle or www.mysql.com.
Buka telegram
WordPress Indonesia
WordPress Indonesia
5 081 pengguna
Gabung juga di sini : https://t.me/WordPressTopik ❌ NO Baper ❌ Share grup Melanggar maaf mimin kick 🙏
Buka telegram
WordPress
WordPress
4 397 pengguna
Group penggemar WordPress, @idwordpress_channel
Buka telegram
PHP Indonesia Community
PHP Indonesia Community
4 052 pengguna
Grup telegram yang membahas secara khusus seputar progamming php. Sarana untuk saling berkomunikasi, berbagi tips dan trik, tutorial, loker serta tanya jawab.
Buka telegram
WordPress Indonesia
WordPress Indonesia
2 297 pengguna
Buka telegram
Tambahkan pertanyaan
Kategori
Semua
Teknologi
Budaya / Rekreasi
Kehidupan / Seni
Ilmu Pengetahuan
Profesional
Bisnis
Pengguna
Semua
Baru
Populer
1
Анна Литвиненко
Terdaftar 2 hari yang lalu
2
Inessa bu
Terdaftar 1 bulan yang lalu
3
Denis Babushkin
Terdaftar 1 bulan yang lalu
4
asakuno asakuno
Terdaftar 1 bulan yang lalu
5
aldo salerno
Terdaftar 2 bulan yang lalu
Kecerdasan buatan untuk mengurai produk dari halaman mana pun
productapi.dev
ID
JA
© kzen.dev 2023
Sumber
wordpress.stackexchange.com
di bawah lisensi cc by-sa 3.0 dengan atribusi