Hinzufügen einer weiteren Spalte zu einer Tabelle in einem WordPress-Plugin

Lesezeit: 4 Minuten

Abend alle

Ich arbeite an einer WordPress-Website, die ein Plugin für die Anzeige von Produktwunschlisten enthält.

Jetzt werden die Produkte nur noch in einer einzigen Spalte angezeigt. Ich möchte, dass es in einem Raster ist.

Ich bin nicht der Beste mit Tabellen. Könnte mir jemand helfen?

Ich weiß, dass Sie nicht um Hilfe bitten sollten, sondern es selbst tun sollten. Aber ich habe das morgen fällig und ich stecke fest … Ich entschuldige mich bei den Admins, wenn diese Frage gegen irgendwelche Regeln verstößt.

Code:

<?php
/**
* The Template for displaying wishlist.
 *
 * @version             1.3.1
 * @package           TInvWishlist\Template
 */

if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}

?>
<div class="tinv-wishlist woocommerce tinv-wishlist-clear">
<?php do_action( 'tinvwl_before_wishlist', $wishlist ); ?>
<?php if ( function_exists( 'wc_print_notices' ) ) { wc_print_notices(); } ?
>
<form action="<?php echo esc_url( tinv_url_wishlist() ); ?>" method="post" autocomplete="off">
    <?php do_action( 'tinvwl_before_wishlist_table', $wishlist ); ?>
    <table class="tinvwl-table-manage-list">
        <thead>
            <tr>
                <?php if ( $wishlist_table['colm_checkbox'] ) { ?>
                    <th class="product-cb"><input type="checkbox" class="global-cb"></th>
                <?php } ?>
                <th class="product-remove"></th>
                <th class="product-thumbnail">&nbsp;</th>

                <?php if ( $wishlist_table_row['move'] || $wishlist_table_row['add_to_card'] ) { ?>
                    <th class="product-action">&nbsp;</th>
                <?php } ?>
            </tr>
        </thead>
        <tbody>
            <?php do_action( 'tinvwl_wishlist_contents_before' ); ?>

            <?php
            foreach ( $products as $wl_product ) {
                $product = apply_filters( 'tinvwl_wishlist_item', $wl_product['data'] );
                unset( $wl_product['data'] );
                if ( $wl_product['quantity'] > 0 && apply_filters( 'tinvwl_wishlist_item_visible', true, $wl_product, $product ) ) {
                    $product_url = apply_filters( 'tinvwl_wishlist_item_url', $product->get_permalink(), $wl_product, $product );
                    ?>
                    <tr class="<?php echo esc_attr( apply_filters( 'tinvwl_wishlist_item_class', 'wishlist_item', $wl_product, $product ) ); ?>">
                        <?php if ( $wishlist_table['colm_checkbox'] ) { ?>
                            <td class="product-cb">
                                <?php
                                echo apply_filters( 'tinvwl_wishlist_item_cb', sprintf( // WPCS: xss ok.
                                    '<input type="checkbox" name="wishlist_pr[]" value="%d">', esc_attr( $wl_product['ID'] )
                                ), $wl_product, $product );
                                ?>
                            </td>
                        <?php } ?>
                        <td class="product-remove">
                            <button type="submit" name="tinvwl-remove" value="<?php echo esc_attr( $wl_product['ID'] ); ?>" >X</button>
                        </td>
                        <td class="product-thumbnail">
                            <?php
                            $thumbnail = apply_filters( 'tinvwl_wishlist_item_thumbnail', $product->get_image(), $wl_product, $product );

                            if ( ! $product->is_visible() ) {
                                echo $thumbnail; // WPCS: xss ok.
                            } else {
                                printf( '<a href="https://stackoverflow.com/questions/45513101/%s">%s</a>', esc_url( $product_url ), $thumbnail ); // WPCS: xss ok.
                            }
                            ?>
                        </td>

                        <?php if ( $wishlist_table_row['move'] || $wishlist_table_row['add_to_card'] ) { ?>
                            <td class="product-action">

                                <?php
                                if ( apply_filters( 'tinvwl_wishlist_item_action_move', $wishlist_table_row['move'], $wl_product, $product ) ) {
                                    echo apply_filters( 'tinvwl_wishlist_item_move', sprintf( '<button class="button tinvwl_move_product_button" type="button" name="move"><i class="fa fa-arrow-right"></i><span class="tinvwl-txt">%s</span></button>', esc_html( __( 'Move', 'ti-woocommerce-wishlist-premium' ) ) ), $wl_product, $product, $wishlist ); // WPCS: xss ok.
                                } ?>
                            </td>
                        <?php } ?>
                    </tr>
                    <?php
                }
            }
            ?>
            <?php do_action( 'tinvwl_wishlist_contents_after' ); ?>
        </tbody>
        <tfoot>
            <tr>
                <td colspan="100%">
                    <?php do_action( 'tinvwl_after_wishlist_table', $wishlist ); ?>
                    <?php wp_nonce_field( 'tinvwl_wishlist_owner', 'wishlist_nonce' ); ?>
                </td>
            </tr>
        </tfoot>
    </table>
</form>
<?php do_action( 'tinvwl_after_wishlist', $wishlist ); ?>
<div class="tinv-lists-nav tinv-wishlist-clear">
    <?php do_action( 'tinvwl_pagenation_wishlist', $wishlist ); ?>
</div>
</div>

  • Hallo Redz. Welche anderen Informationen sollen im Raster angezeigt werden?

    – Vagelis

    11. August 2017 um 6:52 Uhr

  • Ich möchte keine anderen Informationen, ich möchte nur, dass es mehr als eine Spalte gibt

    – RotZ

    11. August 2017 um 17:34 Uhr

  • Jetzt haben Sie eine Spalte mit einigen Überschriften, was passiert mit der Überschrift? Jedes Element wird seine eigene Kopfzeile haben? Können Sie ein Live-Beispiel einer Website zeigen, die zeigt, was Sie haben möchten? Sie müssen das Tabellenlayout loswerden, das ist sicher.

    – Christos Lytras

    11. August 2017 um 22:39 Uhr

Entfernen <table class="tinvwl-table-manage-list"> und </table>

Entfernen Sie alles aus <thead> zu </thead>

Veränderung <tbody> zu <div class="product-table"> und </tbody> zu </div>

Innerhalb foreach ( $products as $wl_product ) Rückgeld <tr zu <div und alles ändern <td zu <div

Veränderung <tfoot> <tr> <td colspan="100%"> zu <div class="product-list-footer">

Aktualisieren Sie Ihr CSS auf set

div.product-table{
box-sizing:border-box;
width:100%; /* Or something else appropriate */
}
div.product-table > div{
box-sizing:border-box; /* makes sure border and padding fits inside the 50% */
width:50%;
}

Sie müssen auch viele andere CSS optimieren, aber das könnte Ihnen den Einstieg erleichtern.

1390170cookie-checkHinzufügen einer weiteren Spalte zu einer Tabelle in einem WordPress-Plugin

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy