Search code examples
phpwordpresshttp-redirectwordpress-shortcode

How do I disable re-direct after adding a new product on Dokan Vendor Plugin


Recently I made a custom shortcode that displays the Dokan "Add Product" form, but now every time I add a new product I get redirected to the Product edit page in the Dokan dashboard. My php skills are very limited as this is the 1st time iv'e ever done any coding but I get stuff fast.

Can someone help me with this issue?

This is the end of the code that the shortcode displays (after the submit button).

 </form>

            <?php } else { ?>

                <?php dokan_seller_not_enabled_notice(); ?>

            <?php } ?>

        <?php } else { ?>

            <?php do_action( 'dokan_can_post_notice' ); ?>

        <?php } ?>
    </div>

    <?php

        /**
         *  dokan_after_new_product_inside_content_area hook
         *
         *  @since 2.4
         */
        do_action( 'dokan_after_new_product_inside_content_area' );
    ?>

</div> <!-- #primary .content-area -->

<?php

    /**
     *  dokan_dashboard_content_after hook
     *  dokan_after_new_product_content_area hook
     *
     *  @since 2.4
     */
    do_action( 'dokan_dashboard_content_after' );
    do_action( 'dokan_after_new_product_content_area' );
?>


Solution

  • Edit this file public_html/wp-content/plugins/dokan-lite/classes/template-products.php

    do_action( 'dokan_new_product_added', $product_id, $post_data );
    
                        if ( current_user_can( 'dokan_edit_product' ) ) {
                            $redirect = dokan_edit_product_url( $product_id );
                   } else {
                            $redirect = dokan_get_navigation_url( 'products' );
                        }
    

    Just replace the value for $redirect with your custom url like below

    $redirect = ("https://www.wordpress.com/dashboard/products/");
    

    For redirection after Edit product page replace the same below

    do_action( 'dokan_product_updated', $post_id );
    
                //$edit_url = dokan_edit_product_url( $post_id );
    
                $redirect = apply_filters( 'dokan_add_new_product_redirect', dokan_edit_product_url( $post_id ), $post_id );
    
                wp_redirect( add_query_arg( array( 'message' => 'success' ), $redirect ) );
                exit;