This is where things are located

Many of these are plugins that have been modified. Be very careful updating the Classified theme or its plugins because you will overwrite this stuff.
MAKE A BACKUP BEFORE CHANGING THINGS!!

Rating System using YASR (Yet Another Stars Rating)

In the plugin file

yet-another-stars-rating-premium\includes\shortcodes\classes\YasrVisitorMultiSet.php

Line 106 starts the function checkCookie() which I believe is what sets the ID of the rating. This might be where I can add the cart ID (ID of the reservation) into the string so a buyer and seller can leave a rating for each item reservation rather than just once for the buyer or seller. I also need to add to the cookie if the user is the buyer or seller.

Line 150, in another function, the status of the rating is checked using the cookie value. This determines if the rating has already been submitted.

Vendors - PayPal Payouts

PayPal Payouts API Info

Settings go in the Dashboard > WooCommerce > Settings > Products > Vendors
 

Sandbox

  • App Name
    TraderDog Payouts Sandbox
  • Account
    sb-0d0lf1599915@business.example.com
  • Client ID
    AdYjsV9AVvROkYBgPVPWO7nXiDyi7zuSFBcJO1lU-re2nH39u50PAjf89ePZN0oFKmeQR7JmPl1bA-GO
  • Client Secret
    EML5J4vZsz2KhfP1ea5vJCPnkJWGkqkCpiCiEWnDbbEjouxampdtEVuyKVd8ENgQ3Ep39mPSKxt1hOqK

Live

  • App Name
    WooCommerce
  • Account
    traderdogllc@gmail.com
  • Client ID
    ARnY16kufstMF58R_fo0Hi68lstJ0HCyfl-i4eY-Fbgz–8ee9rDmxld5pOCPzaaUzZx6R2MRm9APn0y
  • Client Secret
    EBWLKbOyq9Z53xUM2280borchZ19XdkxYrnBZpTJXORgNPkZrzDGQ6PAwvIJmb8rubV9N3eG8StYiTuU

Vendor Setup

  1. Registered Users must fill out the Verification Request Form. Located on My Account > Membership Status.
    1. The form will only show if the member is unverified.
    2. Pending verifications will show “Pending” here.
    3. Verified will show that they’re verified.
  2. The user goes into a “pending” state.
  3. We get an email with the info they provided.
  4. We review this info and approve or deny.
  5. On the Member Verification Status page in the Admin Pages menu, we can verify them. member-verification-status/
  6. This creates a WooCommerce Vendor, gives them the “Verified” icon and allows them to have listings reserved.
    Code located at

    plugin trader-dog/php/trader-dog-uvf-action.php

WooCommerce vendor settings

Located in the Dashboard > WooCommerce > Settings > Products > Vendors

WooCommerce Vendor Management (Manually Add, Edit, Delete)

Located in the Dashboard > Products > Vendors

Code where vendors are registered

woocommerce-product-vendors/includes/class-wc-product-vendors-registration.php

create vendor (still need to add options like paypal email and commission %

https://stackoverflow.com/questions/28370509/automatically-creating-a-vendor-using-gravityforms-and-woocommerce-product-vendo

Possible Solutions to filtering orders by vendor rather than customer

https://stackoverflow.com/questions/59304478/can-not-add-woocommerce-order-filter-by-vendors

https://github.com/woocommerce/woocommerce/wiki/wc_get_orders-and-WC_Order_Query

https://stackoverflow.com/questions/25626058/add-extra-meta-for-orders-in-woocommerce

Checkout Pages

Membership Checkout

  • This contains the “Proceed To Checkout” button
    classified-listing-pro/app/Controllers/Hooks/AppliedHooks.php
  • This is the Membership levels template where you select then check out.
    classified-listing-store/templates/checkout/membership.php
  • This displays the ‘Membership Features” in the membership template.
    classified-listing-store/app/Controllers/Hooks/CustomHook.php

     

  • Code that handles membership ad counts, updating memberships, etc.
    classified-listing-store/app/Models/Membership.php

     

  • javascript that handles styles and checking hidden radio button

    trader-dog/js/promotions.js

Promotions Checkout

  • classified-listing-pro/templates/checkout/promotions.php
  • This is the template for Promotions that can be applied to an existing ad (Top, Featured)
    classified-listing/templates/checkout/promotions.php

  •  javascript that handles styles and checking hidden radio button

    trader-dog/js/promotions.js

Reservation Checkout

  • (Plugin Editor)trader-dog/php/trader-dog-shortcode.php
    function Check_Out adds the fee and the item to the cart. It also calculates the proper fee.

  • (Plugin Editor) woocommerce/includes/emails/class-wc-email.php
    • This had to be edited to bypass an error caused by Emogrifier. 
      Line 564 changed from
      if ( $this->supports_emogrifier() && class_exists( $emogrifier_class ) ) {
      to
      if ( !$this->supports_emogrifier() && class_exists( $emogrifier_class ) ) 

Create Listing pages (New and Edit)

Header that shows how many listings are left

  • classified-listing-store/app/Controllers/Hooks/MembershipHook.php

Code that handles saving and updating

  • classified-listing-pro/app/Controllers/Ajax/PublicUser.php
  • classified-listing/app/Controllers/Ajax/PublicUser.php
  • trader-dog/php/hooks/rtcl_post_new_listing.php

    • This is the code that saves a listing and in that code it creates the WooCommerce product and updates when the listing is updated. This is now a hook and no longer in the Classima plugin.

Listing View Pages

Template Parts (Grid, List and Single in these folders)

  •  Classima Child Theme – classified-listing/custom
  • Classima Child Theme – classified-listing/listings

Grid View (Style 2)

  • Style used when viewing listings in a grid.
  • Classima Child Theme – classified-listing/custom/list-items/archive-grid-2.php

List View (Style 3)

  • Style used when you switch to a list view.
  • Classima Child Theme – classified-listing/custom/list-items/archive-list-3.php

Single (Style 2) 

  • Style used when you view an individual listing.
  • Classima Child Theme – classified-listing/listings/single-rtcl_listing.php
    This the main template that calls the individual parts below.
  • Classima Child Theme – classified-listing/custom/sidebar-single.php
    This is the LEFT sidebar that contains Seller Information and Safety Tiips for Buyers

  • Classima Child Theme – classified-listing/custom/seller-info.php
    This is the part of the LEFT sidebar that displays the Seller Information
  •  
  • Classima Child Theme – classified-listing/custom/content-single-2.php
    Template part containing the main image, gallery, price, location, etc.

Reserve Now Button

  • Check if Reservation is allowed
    get_post_meta($post_id, ‘_field_3062’, true);
  • Check Stock QTY of Listing
    get_post_meta($post_id, ‘_field_3063’, true);
  • Check WooCommerce Stock QTY
    get_post_meta($wc_product_id, ‘_stock’, $stock, true);
  • Check Unit of Measure
    get_post_meta($post_id, ‘_field_3377’, true);
 

 

My Account pages

The default My Account menu and pages have been replaced to add the functionality we need. Many of the functions are handled in the Code Snippit plugin and implimented via shortcode.

Dashboard

  • Membership Status – Remaining Ads, etc.
    • classified-listing-store/templates/myaccount/membership-statistic.php
  • My Listings parent that manages the top and bottom.
    • Oops, I forgot to add this. I’ll do it next time I’m messing with it.
  • My Listings Top Half of Listing Body (picture, price, details, details button, etc.)
    • (child theme) classified-listing/custom/list-items/archive-list-1.php

  • My Listings Bottom Half of Listing Body (Buttons: Promote, Edit, Delete). If the page url contains “my-listings” it will appear
    • (child theme) classified-listing/custom/myaccount-contents.php
  • If you change the URL from my-listings to something else you’ll need to change the value in this file.
    in the function my_account_listing_contents add this IF statement

    if (strpos($_SERVER[‘REQUEST_URI’], ‘my-listings’) !== false){
                Helper::get_custom_listing_template( ‘myaccount-contents’true, compact( ‘listing’ ));
    }
    • (child theme) classified-listing/custom/funtions.php

  • My Listings Bottom Half of Ad Body (Exp. Date, Edit Button, etc.)
    • (child theme) classified-listing/custom/myaccount-contents.php

My Payments receipt details

  • classified-listing-pro/templates/checkout/payment-receipt.php