{"id":396,"date":"2018-10-31T17:13:00","date_gmt":"2018-10-31T17:13:00","guid":{"rendered":"https:\/\/wpgeodirectory.com\/docs-v2\/?post_type=docs&#038;p=396"},"modified":"2020-02-20T20:46:34","modified_gmt":"2020-02-20T20:46:34","slug":"pricing-manager","status":"publish","type":"docs","link":"https:\/\/wpgeodirectory.com\/docs-v2\/addons\/pricing-manager\/","title":{"rendered":"Pricing Manager"},"content":{"rendered":"<p><span class='bookmark-index'><br \/>\n<a href=\"#intro\">Introduction<\/a><br \/>\n<a href=\"#install\">Installation<\/a><br \/>\n<a href=\"#settings\">Settings<\/a><br \/>\n<a href=\"#design\">Design<\/a><br \/>\n<a href=\"#support\">Support<\/a><br \/>\n<a href=\"#faq\">FAQ &#8211; Frequently Asked Questions<\/a><br \/>\n<\/span><\/p>\n<h3><a name=\"intro\" href=\"#intro\">Introduction<\/a><\/h3>\n<p>Your directory can use the Pricing Manager Addon to configure pricing packages for listings. With the addon you can set options for how free and paid listings behave in the &#8220;Packages&#8221; that control which GeoDirectory features are available to customers. Get the <a href=\"https:\/\/wpgeodirectory.com\/downloads\/pricing-manager\/\" rel=\"noopener noreferrer\" target=\"_blank\">Pricing Manager add-on for GeoDirectory<\/a> and get started.<\/p>\n<p>In this document we cover the settings at <\/p>\n<p><strong><\/p>\n<blockquote><p>GeoDirectory &#8211; Settings &#8211; Pricing<\/p><\/blockquote>\n<p><\/strong><\/p>\n<p>We have another document where you can learn more about <a href=\"https:\/\/wpgeodirectory.com\/docs-v2\/places\/packages\/\" rel=\"noopener noreferrer\" target=\"_blank\">configuring listing Packages<\/a>.<\/p>\n<h3><a name=\"install\" href=\"#install\">Installation<\/a><\/h3>\n<h4><a name=\"prep\" href=\"#prep\">Preparation<\/a><\/h4>\n<p>Check to be sure you have the following plugins installed before you get started.<\/p>\n<p>In order to sell listings, you will also need a cart. <\/p>\n<ul>\n<li><a href=\"https:\/\/wpgeodirectory.com\/try-geodirectory-v2\/\" rel=\"noopener noreferrer\" target=\"_blank\">GeoDirectory V2<\/a><\/li>\n<li>WP Invoicing or WooCommerce &#8211; <a href=\"#cart\">Read more about choosing a cart here<\/a><\/li>\n<\/ul>\n<h4><a name=\"install\" href=\"#install\">Installation<\/a><\/h4>\n<ol>\n<li><a href=\"https:\/\/wpgeodirectory.com\/your-account\/\" rel=\"noopener noreferrer\" target=\"_blank\">Download the Addon from your account<\/a>.<\/li>\n<li><a href=\"https:\/\/wpgeodirectory.com\/docs-v2\/addons\/installing-addons\/\" rel=\"noopener noreferrer\" target=\"_blank\">Install the Addon<\/a>.<\/li>\n<\/ol>\n<h3><a name=\"settings\" href=\"#settings\">Settings<\/a><\/h3>\n<p>Core Pricing Manager settings are at <\/p>\n<blockquote><p>GeoDirectory &#8211; Settings &#8211; Pricing<\/p><\/blockquote>\n<p><a href=\"http:\/\/wpgeodirectory.com\/docs-v2\/wp-content\/uploads\/sites\/23\/2018\/03\/menu-settings.png\"><img src=\"http:\/\/wpgeodirectory.com\/docs-v2\/wp-content\/uploads\/sites\/23\/2018\/03\/menu-settings.png\" alt=\"\" width=\"139\" height=\"141\" class=\"alignnone size-full wp-image-312\" \/><\/a><\/p>\n<p><a href=\"http:\/\/wpgeodirectory.com\/docs-v2\/wp-content\/uploads\/sites\/23\/2018\/10\/Screenshot-2018-10-31-at-5.58.05-PM.png\"><img src=\"http:\/\/wpgeodirectory.com\/docs-v2\/wp-content\/uploads\/sites\/23\/2018\/10\/Screenshot-2018-10-31-at-5.58.05-PM.png\" alt=\"\" width=\"751\" height=\"499\" class=\"alignnone size-full wp-image-397\" srcset=\"https:\/\/wpgeodirectory.com\/docs-v2\/wp-content\/uploads\/sites\/23\/2018\/10\/Screenshot-2018-10-31-at-5.58.05-PM.png 751w, https:\/\/wpgeodirectory.com\/docs-v2\/wp-content\/uploads\/sites\/23\/2018\/10\/Screenshot-2018-10-31-at-5.58.05-PM-300x199.png 300w\" sizes=\"(max-width: 751px) 100vw, 751px\" \/><\/a><\/p>\n<h4>Listing Expiration Settings<\/h4>\n<ul>\n<li><strong>Enable listing expiry?<\/strong><\/li>\n<\/ul>\n<p>Enable listing expiry? If disabled then no listings will expire in future.<\/p>\n<ul>\n<li><strong>Expired Listing Status<\/strong><\/li>\n<\/ul>\n<ul>\n<li><strong>Paid Listing Status<\/strong><\/li>\n<\/ul>\n<ul>\n<li><strong>Renewal for free package?<\/strong><\/li>\n<\/ul>\n<p>Renewal for free package? Tick to allow renewal of listing with free package.<\/p>\n<h4><a href=\"#cart\" name=\"cart\">Cart Settings<\/a><\/h4>\n<p>You can find the setting to choose your cart at<br \/>\n<strong><\/p>\n<blockquote><p>GeoDirectory &#8211; Settings &#8211; Pricing &#8211; Show Advanced &#8211; Cart<\/p><\/blockquote>\n<p><\/strong><\/p>\n<ul>\n<li><strong>Cart<\/strong><\/li>\n<\/ul>\n<p>Choose your cart. You can use either WP Invoicing or WooCommerce. If you don&#8217;t have them installed, they will not be available as choices.<\/p>\n<h3>Choosing a Cart<\/h3>\n<p>GeoDirectory Pricing Manager is used to configure &#8220;Packages&#8221;. Packages contain the features available to listing owners when they edit their listing. <\/p>\n<p>The second important function of the Pricing Manager addon is to share the Package information to your site&#8217;s ecommerce cart. <\/p>\n<p>The cart serves several purposes. First and foremost it will collect billing and payment information from your customers. Next it will use the payment information to process the purchase with a gateway. The cart also manages subscriptions and recurring billing, creates invoices, and sends order confirmations. <\/p>\n<p>Different carts have different features, and sometimes different names for the same thing. In WP Invoicing a listing Package is called an &#8220;Item&#8221;.In WooCommerce, listing packages are called &#8220;Products&#8221;.  In either case, when you make changes to a listing Package in the GeoDirectory settings, Pricing Manager pushes the changes into the cart plugin database, updating the information about the packages in the cart.<\/p>\n<p>You have a choice of two carts. <\/p>\n<ul>\n<li><a href=\"https:\/\/wpinvoicing.com\" rel=\"noopener noreferrer\" target=\"_blank\">WP Invoicing<\/a>\n<li><a href=\"https:\/\/woocommerce.com\" rel=\"noopener noreferrer\" target=\"_blank\">WooCommerce<\/a>\n<\/ul>\n<p>We recommend WP Invoicing. We built WP Invoicing with advanced integration with both GeoDirectory and UsersWP. The integration provides you with some peace of mind because we stand behind our products and provide support. Specific advantages of using WP Invoicing and UsersWP include:<\/p>\n<p><strong>WP Invoicing<\/strong> <\/p>\n<ul>\n<li>Orders for listing packages are marked &#8220;Complete&#8221; as soon as payment is received, so your site can be &#8220;automated&#8221; if your package <a href=\"https:\/\/wpgeodirectory.com\/docs-v2\/places\/packages\/#post-status\" rel=\"noopener noreferrer\" target=\"_blank\">post status<\/a> is set to &#8220;Published&#8221;.<\/li>\n<li>Invoices for published listings will contain a link to the listing, making it easy for your customers to return to their listing later.<\/li>\n<li>My Invoices is available as a menu item to help users keep track of their orders.<\/li>\n<li><a href=\"https:\/\/wpgeodirectory.com\/docs-v2\/integrations\/userswp\/\">Read more about the integration<\/a><\/li>\n<\/ul>\n<p><strong>UsersWP<\/strong><\/p>\n<ul>\n<li>Beautiful user profiles<\/li>\n<li>Profile tab for &#8220;My Listings&#8221; makes it easy for listing owners to find and edit their listings.<\/li>\n<li>Profile tab for &#8220;My Orders&#8221; makes it easy for listing owners to find a record of their invoices.<\/li>\n<li>Smart login\/logout\/register links that show\/hide to logged in or logged out users automatically.<\/li>\n<li>An easy-to-configure menu link to &#8220;\/profile\/? helps users find everything they need in one place.<\/li>\n<li><a href=\"https:\/\/wpgeodirectory.com\/docs-v2\/integrations\/userswp\/\">Read more about the integration<\/a><\/li>\n<\/ul>\n<p>WooCommerce can process orders for listing packages, but lacks the advanced integration of WP Invoicing. Additional plugins or custom development may be needed in order to accomplish similar functionality.<\/p>\n<h3>Pricing Manager and Custom Fields<\/h3>\n<p>Custom Fields management is covered in detail in the P<a href=\"https:\/\/wpgeodirectory.com\/docs-v2\/places\/custom\/\" rel=\"noopener noreferrer\" target=\"_blank\">laces Settings Custom Fields doc<\/a>. <\/p>\n<p>What follows is a brief overview of the fields that are added with Pricing Manager.<\/p>\n<h4>Price Package Custom Field<\/h4>\n<p>Add the Price Package field to each CPT. Make sure it is set to Active. If you do not add this field, you will receive an error when trying to submit the listing.<\/p>\n<p><a href=\"http:\/\/wpgeodirectory.com\/docs-v2\/wp-content\/uploads\/sites\/23\/2018\/10\/price-package-field.png\"><img src=\"http:\/\/wpgeodirectory.com\/docs-v2\/wp-content\/uploads\/sites\/23\/2018\/10\/price-package-field.png\" alt=\"\" width=\"450\" class=\"alignnone size-full wp-image-593\" srcset=\"https:\/\/wpgeodirectory.com\/docs-v2\/wp-content\/uploads\/sites\/23\/2018\/10\/price-package-field.png 606w, https:\/\/wpgeodirectory.com\/docs-v2\/wp-content\/uploads\/sites\/23\/2018\/10\/price-package-field-136x300.png 136w, https:\/\/wpgeodirectory.com\/docs-v2\/wp-content\/uploads\/sites\/23\/2018\/10\/price-package-field-465x1024.png 465w\" sizes=\"(max-width: 606px) 100vw, 606px\" \/><\/a><\/p>\n<h4>Expire Date<\/h4>\n<p>Expire date will be automatically added to all listings.<br \/>\nYou can show the expire date on the frontend using Custom Fields options for &#8220;Show in extra output locations&#8221; or through the use of GD Post Meta as a widget or shortcode.<\/p>\n<h4>Featured and Price Packages<\/h4>\n<p>The pre-defined &#8220;Featured&#8221; field has a special integration with Pricing Manager. <a href=\"https:\/\/wpgeodirectory.com\/docs-v2\/places\/custom\/#featured\" rel=\"noopener noreferrer\" target=\"_blank\">Read more about the Featured field<\/a>.<\/p>\n<h3>Package Setting<\/h3>\n<p>Each CPT will have a tab where listing packages can be configured. These settings are covered in the <a href=\"https:\/\/wpgeodirectory.com\/docs-v2\/places\/packages\/\" rel=\"noopener noreferrer\" target=\"_blank\">Places &#8211; Packages documentation<\/a>.<\/p>\n<h3><a name=\"design\" href=\"#design\">Design<\/a><\/h3>\n<p>Widgets<\/p>\n<h4><a name=\"gd_auhor_actions\" href=\"#gd_auhor_actions\">GD > Author Actions<\/a><\/h4>\n<p>GD > Author Actions (shortcode <\/p>\n<pre><code>gd_auhor_actions<\/code><\/pre>\n<p> display links for &#8220;Edit&#8221;, &#8220;Upgrade&#8221;, and &#8220;Delete&#8221;. <\/p>\n<p>GD Author Actions has an option to hide the &#8220;Delete&#8221; link so that users can be prevented from deleting a listing.<\/p>\n<p>Archive Item template<\/p>\n<p>Use GD Author Actions in the Archive Item template so that your listing owners can easily edit their listings from the GD Dashboard. <\/p>\n<p>GD Author Actions is included in the content for the Archive Item template. If it is missing, edit the Archive Item template to add GD Author Actions back into the template contents.<\/p>\n<p>Detail template<\/p>\n<p>Use GD Author Actions on the Details template.  This is most commonly done by adding the GD Author Actions widget to the sidebar that displays on the Detail page. <\/p>\n<h4>GD Post Meta<\/h4>\n<p>Display the Package ID<\/p>\n<pre><code>[gd_post_meta key=\"package_id\" show=\"value\"]<\/code><\/pre>\n<h4>GD Author Actions<\/h4>\n<p>[gd_author_actions]<\/p>\n<pre><code>[gd_author_actions]<\/code><\/pre>\n<p>Author Actions shortcode can be used to display &#8220;Upgrade&#8221; and &#8220;Downgrade&#8221; links.<\/p>\n<h3><a href=\"#customizing\" name=\"customizing\">Customizing<\/a><\/h3>\n<p>GeoDirectory gives you a strong foundation for your directory app, and you may find you want to change the way your directory works in ways that aren&#8217;t built in. If you are adding code then it is customization.  Here in this section are where we keep examples that you can use to build your own customization.<\/p>\n<h4>Snippet &#8211; Different Archive Item for each price package<\/h4>\n<p>See this <a href=\"https:\/\/wpgeodirectory.com\/support\/topic\/different-gd-archive-item-template-for-each-package-type\/#post-490351\" rel=\"noopener noreferrer\" target=\"_blank\">forum topic<\/a>.<\/p>\n<h4>Snippet &#8211; Skip invoices for free packages<\/h4>\n<p>See this <a href=\"https:\/\/wpgeodirectory.com\/support\/topic\/invoices-of-0-00-euros-being-sent-for-free-listings\/#post-486780\" rel=\"noopener noreferrer\" target=\"_blank\">forum topic<\/a>.<\/p>\n<h4><a href=\"#hide\" name=\"hide\">Hide a tab based on a price package<\/a><\/h4>\n<p>Want to show &#8220;Related Ads\/Listings&#8221; in a tab on free packages but hide them on paid packages? This will hide the tab in desktop view:<\/p>\n<pre><code class='css'>\r\n\/*Hide tab for package ID 23*\/\r\n.gd-post-pkg-23 [data-tab=&quot;#related-listings&quot;] {\r\n    display:none!important;\r\n}\r\n<\/code><\/pre>\n<p>To adjust this to your site you will need two pieces of information:<\/p>\n<p>1. The numberic ID of the package where you want to hide the tab &#8211; Find this on the packages page.<br \/>\n2. The name of the tab &#8211; you will need to use the chrome inspector to find this &#8211; <a href=\"https:\/\/wpgeodirectory.com\/docs\/customizing-your-style\/\" rel=\"noopener noreferrer\" target=\"_blank\">more info here<\/a>.<\/p>\n<h4><a name=\"pricing-tables\" href=\"#pricing-tables\">Pricing Tables<\/a><\/h4>\n<p>You can use a pricing table plugin, and then link to your different packages.<br \/>\nSearch for Pricing Tables plugins &#8211; <a href=\"https:\/\/wordpress.org\/plugins\/search\/pricing+table\/\" rel=\"noopener noreferrer\" target=\"_blank\">https:\/\/wordpress.org\/plugins\/search\/pricing+table\/<\/a><\/p>\n<p>The &#8220;Signup&#8221; (Buy, Subscribe etc) button in your pricing table can link directly to a package with a link like this::<\/p>\n<pre><code>https:\/\/mysite.com\/add-listing\/?listing_type=gd_place&package_id=4<\/code><\/pre>\n<p>Adjust the link based on your CPT and Package ID.<\/p>\n<p>Also see our blog article about fast pricing tables here: <a href=\"https:\/\/wpgeodirectory.com\/are-pricing-tables-slowing-down-your-site\/\" rel=\"noopener noreferrer\" target=\"_blank\">https:\/\/wpgeodirectory.com\/are-pricing-tables-slowing-down-your-site\/<\/a><\/p>\n<h3><a name=\"support\" href=\"#support\">Get Support<\/a><\/h3>\n<p>Get support on our forum, fnd out more here: <a href=\"https:\/\/wpgeodirectory.com\/docs-v2\/v2\/support\/\" rel=\"noopener noreferrer\" target=\"_blank\">https:\/\/wpgeodirectory.com\/docs-v2\/v2\/support\/<\/a><\/p>\n<h3><a name=\"faq\" href=\"#faq\">FAQ &#8211; Frequently Asked Questions<\/a><\/h3>\n<blockquote><p>Can I use WooCommerce for my cart?<\/p><\/blockquote>\n<p>Yes. For more about WooCommerce integration with Pricing Manager see: <a href=\"https:\/\/wpgeodirectory.com\/docs-v2\/integrations\/woocommerce\/\" rel=\"noopener noreferrer\" target=\"_blank\">https:\/\/wpgeodirectory.com\/docs-v2\/integrations\/woocommerce\/<\/a><\/p>\n<blockquote><p><a name=\"experts\" href=\"#experts\">Can you help me setup WooCommerce?<\/a><\/p><\/blockquote>\n<p>We do not provide support for WooCommerce, only Pricing Manager. If you need help with Woo, you can contact a GD Expert here: <a href=\"http:\/\/geodirectoryexperts.com\" rel=\"noopener noreferrer\" target=\"_blank\">http:\/\/geodirectoryexperts.com<\/a><\/p>\n<blockquote><p><a name=\"sync\" href=\"#sync\">How can I make my package settings match up with my cart?<\/a><\/p><\/blockquote>\n<p>Use the &#8220;Sync&#8221; option as shown below to &#8216;push&#8217; package settings into the cart.<\/p>\n<p><a href=\"http:\/\/wpgeodirectory.com\/docs-v2\/wp-content\/uploads\/sites\/23\/2018\/10\/Sync-Package.png\"><img src=\"http:\/\/wpgeodirectory.com\/docs-v2\/wp-content\/uploads\/sites\/23\/2018\/10\/Sync-Package.png\" alt=\"\" width=\"590\" height=\"358\" class=\"alignnone size-full wp-image-406\" srcset=\"https:\/\/wpgeodirectory.com\/docs-v2\/wp-content\/uploads\/sites\/23\/2018\/10\/Sync-Package.png 590w, https:\/\/wpgeodirectory.com\/docs-v2\/wp-content\/uploads\/sites\/23\/2018\/10\/Sync-Package-300x182.png 300w\" sizes=\"(max-width: 590px) 100vw, 590px\" \/><\/a><\/p>\n<blockquote><p><a name=\"package-field\" href=\"#package-field\">I see an error when I try to submit a listing &#8220;Save failed due to invalid package! Cheating huh?&#8221;<\/a><\/p><\/blockquote>\n<p>Make sure that the Pricing Package field is set to active. This error indicates that the field is not active.<\/p>\n<blockquote><p><a name=\"how-does-it-work\" href=\"#how-does-it-work\">How do listing edits\/upgrades\/downgrades work; are the pricing packages always displayed on the edit screen?<\/a><\/p><\/blockquote>\n<p>In GeoDirectory v2, the add\/edit\/renew\/upgrade process is almost exactly the same. The actions available to the listing owner are decided by the package selection, listing status and whether the listing is edited during the renewal period.<\/p>\n<p>If a listing is published and the user chooses the same package, then the listing will update\/renew based on the current listing status and expire date.<br \/>\nIf listing is not published or is edited during the renewal period then the user will see the renewal options. If the listing is published and does not falls in renew period then the owner will presented with only the options to edit\/update the listing.<br \/>\n&#8211; If uses goes with different package then they will see the upgrade options.<\/p>\n<p>Appropriate price packages remain visible on the edit listing page. <\/p>\n<blockquote><p><a name=\"sort-by-price\" href=\"#sort-by-price\">How can I sort listings by price?<\/a><\/p><\/blockquote>\n<p>Sorting by price in GDV2 is easier because the $ Package field is now a pre-defined custom field that is automatically populated with the package.<br \/>\nPackage is automatically added to all your CPTs when Pricing Manager is enabled.<br \/>\nYou can adjust the field settings in CPT -> Custom Fields -> $ Package<br \/>\nInside the field settings you can se the field to be included in the Sorting options.<\/p>\n<blockquote class=\"gd-faq\"><p><a href=\"#expire-check\" name=\"expire-check\"\n\n<h5>Using the GD Expire Check Tool<\/h5>\n<p><\/a><\/p>\n<p>You can find the GD Expire Check tool at : GD &#8211; Status &#8211; Tools (tab) &#8211; Listing Expire Check &#8211; Run<br \/>\nRead about the GD Tools here: <a href=\"https:\/\/wpgeodirectory.com\/docs-v2\/geodirectory\/status\/#tools\" rel=\"noopener noreferrer\" target=\"_blank\">https:\/\/wpgeodirectory.com\/docs-v2\/geodirectory\/status\/#tools<\/a><\/p>\n<p>The Listing Expire Check tool forces listing to expire where:<\/p>\n<ul>\n<li>Expiry date is in the past.<\/li>\n<li>The listing is assigned a non-recurring package.<\/li>\n<\/ul>\n<p>Listings assigned recurring packages will only expire if a notification is received from the Payment gateway.<br \/>\nFor recurring\/subscription packages, the listing will expire if:<\/p>\n<ul>\n<li>Payer cancels(stops) the subscription (ex. listing owner cancels recurring payments at PayPal)<\/li>\n<li>Payee cancels(stops) the subscription (ex. site owner cancels recurring payments at PayPal)<\/li>\n<li>Payment cycle is completed (i.e. package has selected options like recurring every \u201c1 month\u201d for \u201c6 times\u201d, then subscription is automatically cancelled after 6 recurring payments.)<\/li>\n<\/ul>\n<\/blockquote>\n<blockquote><p><a name=\"support\" href=\"#support\">I tried everything and nothing works. Can you help me?<\/a><\/p><\/blockquote>\n<p>Get support on our forum, find out more here: <a href=\"https:\/\/wpgeodirectory.com\/docs-v2\/geodirectory\/support\/\" rel=\"noopener noreferrer\" target=\"_blank\">https:\/\/wpgeodirectory.com\/docs-v2\/geodirectory\/support\/<\/a><\/p>\n<p><strong>Body Class <\/strong><\/p>\n<p>You can style listings based on the package because the package ID is used as a class on both the archive and detail page displays.<\/p>\n<p>Hide an element for package 1<\/p>\n<p>For example, if my item is a shortcode I could wrap it in class=&#8221;hide-me-for-paid-listings&#8221; then use css<\/p>\n<pre><code class='css'>\r\n.gd-post-pkg-1 .hide-me-for-paid-listings {\r\ndisplay: none;\r\n}\r\n<\/code><\/pre>\n<h4>Post Save Events<\/h4>\n<blockquote class=\"gd-faq\"><p>\nWhen a user submits a listing (post) an AJAX message displayed on the same page.<\/p>\n<p>You can use the below code snippet to customize the results there.<\/p>\n<pre><code class='php'>\r\nadd_filter('geodir_ajax_save_post_message','_my_post_save_message',10,2);\r\nfunction _my_post_save_message($message, $post_data){\r\n  \r\n  if ( isset( $post_data['post_parent'] ) &amp;&amp; $post_data['post_parent'] ) {\r\n\t\/\/ update post\r\n  }else{\r\n\t\/\/ new post\r\n\t$package_id = isset($post_data['package_id']) ? absint($post_data['package_id']) : \";\r\n\tif($package_id){\r\n\t$message = sprintf( __('Post received for package %s, your listing may need to be reviewed before going live, you can preview it %shere%s.', 'geodirectory'),$package_id, &quot;&lt;a href='$preview_link' &gt;&quot;, &quot;&lt;\/a&gt;&quot; );\r\n\t  $message .= &quot;&lt;script&gt;alert($package_id)&lt;\/script&gt;&quot;;\r\n\t}\r\n  }\r\n  \r\n  return $message;\r\n}<\/code><\/pre>\n<\/blockquote>\n<h4><a href=\"#free-skip-invoice-email\" name=\"free-skip-invoice-email\">Skip Sending Invoice Notifications for Listing Package &#8220;Purchases&#8221; that are 0.00 (free)<\/a><\/h4>\n<p>Your directory may have lots of users who take advantage of Free packages, and you might want to skip sending an email notification for the invoice generated for those free listings.<\/p>\n<p>Requirements:<br \/>\n &#8211; GeoDirectory V2<br \/>\n &#8211; Pricing Manager V2<br \/>\n &#8211; WP Invoicing<\/p>\n<pre><code class='php'>\r\n\/**\r\n * Prevent sending invoice email notifications to user for free invoices.\r\n *\/\r\nfunction gd_snippet_prevent_invoice_email_for_free_listing( $recipient, $email_type, $invoice_id, $invoice ) {\r\n\tif ( class_exists( 'GeoDir_Pricing_Post_Package' ) &amp;&amp; ! empty( $invoice ) &amp;&amp; $invoice-&gt;is_free() ) {\r\n\t\t$post_packages = GeoDir_Pricing_Post_Package::get_items( array( 'invoice_id' =&gt; $invoice_id ) );\r\n\r\n\t\tif ( ! empty( $post_packages ) ) {\r\n\t\t\t$recipient = NULL; \/\/ No recipient.\r\n\t\t}\r\n\t}\r\n\treturn $recipient;\r\n}\r\nadd_filter( 'wpinv_email_recipient', 'gd_snippet_prevent_invoice_email_for_free_listing', 100, 4 );\r\n<\/code><\/pre>\n<p>How can I setup a downgrade to the same package for non-recurring free packages? I want to make sure I am sending expiry emails with CTAs to signup.<\/p>\n<p>You can create a second free package and set that for downgrade. So, the packages would downgrade back and forth.<\/p>\n","protected":false},"featured_media":0,"parent":167,"menu_order":16,"comment_status":"closed","ping_status":"closed","template":"","doc_tag":[],"amp_validity":null,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/wpgeodirectory.com\/docs-v2\/wp-json\/wp\/v2\/docs\/396"}],"collection":[{"href":"https:\/\/wpgeodirectory.com\/docs-v2\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/wpgeodirectory.com\/docs-v2\/wp-json\/wp\/v2\/types\/docs"}],"replies":[{"embeddable":true,"href":"https:\/\/wpgeodirectory.com\/docs-v2\/wp-json\/wp\/v2\/comments?post=396"}],"version-history":[{"count":0,"href":"https:\/\/wpgeodirectory.com\/docs-v2\/wp-json\/wp\/v2\/docs\/396\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/wpgeodirectory.com\/docs-v2\/wp-json\/wp\/v2\/docs\/167"}],"next":[{"title":"reCAPTCHA","link":"https:\/\/wpgeodirectory.com\/docs-v2\/addons\/recaptcha\/","href":"https:\/\/wpgeodirectory.com\/docs-v2\/wp-json\/wp\/v2\/docs\/494"}],"prev":[{"title":"Multiratings","link":"https:\/\/wpgeodirectory.com\/docs-v2\/addons\/multiratings\/","href":"https:\/\/wpgeodirectory.com\/docs-v2\/wp-json\/wp\/v2\/docs\/234"}],"wp:attachment":[{"href":"https:\/\/wpgeodirectory.com\/docs-v2\/wp-json\/wp\/v2\/media?parent=396"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/wpgeodirectory.com\/docs-v2\/wp-json\/wp\/v2\/doc_tag?post=396"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}