Zmiana tabeli pobierania i zapisywania customowych postów
-
Cześć,
Chciałbym wordpresie we własnym typie postów podmienić tabelę pobierania danych z
wp_posts
nawp_moja_wlasna
tabele.
Przejrzałem Internet w zadłuż i szerz, genialne chat boty też nie wiedzą jak zrobić.
odpowiednikiem jest np. tabelawc_orders
i zapis zamówień w woocomerca
Próbowałem to robić za pomocą:public function __construct() { add_filter( 'manage_edit-joboffers_candidates_columns', array( $this, 'modify_job_offer_candidates_columns' ); add_action( 'manage_joboffers_candidates_posts_custom_column', array( $this, 'display_job_offer_candidates_data', 10, 2 ); } function modify_job_offer_candidates_columns( $columns ) { // Usuwamy domyślne kolumny unset( $columns['title'] ); unset( $columns['date'] ); // Dodajemy nowe kolumny $columns['id'] = __( 'ID', 'job-offers-plugin' ); $columns['create_data'] = __( 'Data utworzenia', 'job-offers-plugin' ); $columns['name'] = __( 'Imię', 'job-offers-plugin' ); $columns['surname'] = __( 'Nazwisko', 'job-offers-plugin' ); $columns['phone'] = __( 'Telefon', 'job-offers-plugin' ); $columns['email'] = __( 'Email', 'job-offers-plugin' ); $columns['status'] = __( 'Status', 'job-offers-plugin' ); return $columns; } function display_job_offer_candidates_data( $column, $post_id ) { global $wpdb; // Zapytanie SQL do pobrania danych z tabeli wp_st_candidate_applications $sql = "SELECT
id
,create_data
,name
,surname
,phone
,email
,status
FROMwp_mojatabela
WHEREpost_id
= %d"; $results = $wpdb->get_results( $wpdb->prepare( $sql, $post_id ) ); if ( ! empty( $results ) ) { $candidate_data = $results[0]; // Pobieramy pierwszy wynik (zakładamy, że jest tylko jeden kandydat na ofertę) switch ( $column ) { case 'id': echo $candidate_data->id; break; case 'create_data': echo $candidate_data->create_data; break; case 'name': echo $candidate_data->name; break; case 'surname': echo $candidate_data->surname; break; case 'phone': echo $candidate_data->phone; break; case 'email': echo $candidate_data->email; break; case 'status': echo $candidate_data->status; break; } } else { echo '-'; // Wyświetlamy "-" jeśli nie ma danych dla danego postu } }
- Musisz się zalogować, aby móc odpowiadać.