• Cześć,

    Chciałbym wordpresie we własnym typie postów podmienić tabelę pobierania danych z wp_posts na wp_moja_wlasna tabele.
    Przejrzałem Internet w zadłuż i szerz, genialne chat boty też nie wiedzą jak zrobić.
    odpowiednikiem jest np. tabela wc_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 
                FROM wp_mojatabela 
                WHERE post_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
        }
    }