Trying to develop custom settings for give
-
Hi , I was tasked to develop custom settings for the give plugin that allows an admin of the website to pair two values together and save them to the database , I’ve tried fiddling around with multiple hooks to no avail , my plugin code :
<?php /** * Plugin Name: Payment Settings Config * Plugin URI: https://plant-for-the-planet.org/ * Description: Allow the configuration of multiple payment accounts * Version: 1.0 * Author: Kareem Shamayleh * Author URI: **/ function payment_config_advanced_settings( $settings ) { $current_section = give_get_current_setting_section(); switch ( $current_section ) { case 'stripe': $settings = array( array( 'id' => 'payment_advanced_settings', 'type' => 'title', ), array( 'name' => __( 'Country', '' ), 'desc' => __( 'Choose country to pair with Account Key', '_country' ), 'id' => __('planet_country' , '_Country'), 'type' => 'select', 'default' => 'disabled', ), array( 'name' => __( 'Account Key', '' ), 'desc' => __( 'Write down an account key to pair with a Country', '_acctkey' ), 'id' => __('planet_acctKey' , '_acctkey'), 'type' => 'text', ) ); } return $settings; } add_filter( 'give_get_settings_advanced', 'payment_config_advanced_settings', 10, 1 ); function plant_config_advanced_settings_display($field_options){ ?> <form method="post"><label for=\"country\">Country</label> <select id="<?php echo esc_attr( $field_options['id'] ) . '_Country'; ?>" name=\"country\" class=\"form-control\"> <option value=\"\" selected='selected'></option> <option value=\"Afghanistan\">Afghanistan</option> <option value=\"?land_Islands\">?land Islands</option> <option value=\"Albania\">Albania</option> <option value=\"Algeria\">Algeria</option> <option value=\"American_Samoa\">American Samoa</option> <option value=\"Andorra\">Andorra</option> <option value=\"Angola\">Angola</option> <option value=\"Anguilla\">Anguilla</option> <option value=\"Antarctica\">Antarctica</option> <option value=\"Antigua_and_Barbuda\">Antigua and Barbuda</option> <option value=\"Argentina\">Argentina</option> <option value=\"Armenia\">Armenia</option> <option value=\"Aruba\">Aruba</option> <option value=\"Australia\">Australia</option> <option value=\"Austria\">Austria</option> <option value=\"Azerbaijan\">Azerbaijan</option> <option value=\"Bahamas\">Bahamas</option> <option value=\"Bahrain\">Bahrain</option> <option value=\"Bangladesh\">Bangladesh</option> <option value=\"Barbados\">Barbados</option> <option value=\"Belarus\">Belarus</option> <option value=\"Belgium\">Belgium</option> <option value=\"Belize\">Belize</option> <option value=\"Benin\">Benin</option> <option value=\"Bermuda\">Bermuda</option> <option value=\"Bhutan\">Bhutan</option> <option value=\"Bolivia\">Bolivia</option> <option value=\"Bosnia_and_Herzegovina\">Bosnia and Herzegovina</option> <option value=\"Botswana\">Botswana</option> <option value=\"Bouvet_Island\">Bouvet Island</option> <option value=\"Brazil\">Brazil</option> <option value=\"British_Indian_Ocean_Territory\">British Indian Ocean Territory</option> <option value=\"BruneiDarussalam\">Brunei Darussalam</option> <option value=\"Bulgaria\">Bulgaria</option> <option value=\"BurkinaFaso\">Burkina Faso</option> <option value=\"Burundi\">Burundi</option> <option value=\"Cambodia\">Cambodia</option> <option value=\"Cameroon\">Cameroon</option> <option value=\"Canada\">Canada</option> <option value=\"CapeVerde\">Cape Verde</option> <option value=\"CaymanIslands\">Cayman Islands</option> <option value=\"CentralAfricanRepublic\">Central African Republic</option> <option value=\"Chad\">Chad</option> <option value=\"Chile\">Chile</option> <option value=\"China\">China</option> <option value=\"ChristmasIsland\">Christmas Island</option> <option value=\"Cocos(Keeling)Islands\">Cocos (Keeling) Islands</option> <option value=\"Colombia\">Colombia</option> <option value=\"Comoros\">Comoros</option> <option value=\"Congo\">Congo</option> <option value=\"Congo,TheDemocraticRepublicofThe\">Congo, The Democratic Republic of The</option> <option value=\"CookIslands\">Cook Islands</option> <option value=\"CostaRica\">Costa Rica</option> <option value=\"CoteD'ivoire\">Cote D'ivoire</option> <option value=\"Croatia\">Croatia</option> <option value=\"Cuba\">Cuba</option> <option value=\"Cyprus\">Cyprus</option> <option value=\"CzechRepublic\">Czech Republic</option> <option value=\"Denmark\">Denmark</option> <option value=\"Djibouti\">Djibouti</option> <option value=\"Dominica\">Dominica</option> <option value=\"DominicanRepublic\">Dominican Republic</option> <option value=\"Ecuador\">Ecuador</option> <option value=\"Egypt\">Egypt</option> <option value=\"ElSalvador\">El Salvador</option> <option value=\"EquatorialGuinea\">Equatorial Guinea</option> <option value=\"Eritrea\">Eritrea</option> <option value=\"Estonia\">Estonia</option> <option value=\"Ethiopia\">Ethiopia</option> <option value=\"FalklandIslands(Malvinas)\">Falkland Islands (Malvinas)</option> <option value=\"FaroeIslands\">Faroe Islands</option> <option value=\"Fiji\">Fiji</option> <option value=\"Finland\">Finland</option> <option value=\"France\">France</option> <option value=\"FrenchGuiana\">French Guiana</option> <option value=\"FrenchPolynesia\">French Polynesia</option> <option value=\"FrenchSouthernTerritories\">French Southern Territories</option> <option value=\"Gabon\">Gabon</option> <option value=\"Gambia\">Gambia</option> <option value=\"Georgia\">Georgia</option> <option value=\"Germany\">Germany</option> <option value=\"Ghana\">Ghana</option> <option value=\"Gibraltar\">Gibraltar</option> <option value=\"Greece\">Greece</option> <option value=\"Greenland\">Greenland</option> <option value=\"Grenada\">Grenada</option> <option value=\"Guadeloupe\">Guadeloupe</option> <option value=\"Guam\">Guam</option> <option value=\"Guatemala\">Guatemala</option> <option value=\"Guernsey\">Guernsey</option> <option value=\"Guinea\">Guinea</option> <option value=\"Guinea-bissau\">Guinea-bissau</option> <option value=\"Guyana\">Guyana</option> <option value=\"Haiti\">Haiti</option> <option value=\"HeardIslandandMcdonaldIslands\">Heard Island and Mcdonald Islands</option> <option value=\"HolySee(VaticanCityState)\">Holy See (Vatican City State)</option> <option value=\"Honduras\">Honduras</option> <option value=\"HongKong\">Hong Kong</option> <option value=\"Hungary\">Hungary</option> <option value=\"Iceland\">Iceland</option> <option value=\"India\">India</option> <option value=\"Indonesia\">Indonesia</option> <option value=\"Iran,IslamicRepublicof\">Iran, Islamic Republic of</option> <option value=\"Iraq\">Iraq</option> <option value=\"Ireland\">Ireland</option> <option value=\"IsleofMan\">Isle of Man</option> <option value=\"Israel\">Israel</option> <option value=\"Italy\">Italy</option> <option value=\"Jamaica\">Jamaica</option> <option value=\"Japan\">Japan</option> <option value=\"Jersey\">Jersey</option> <option value=\"Jordan\">Jordan</option> <option value=\"Kazakhstan\">Kazakhstan</option> <option value=\"Kenya\">Kenya</option> <option value=\"Kiribati\">Kiribati</option> <option value=\"Korea,DemocraticPeople'sRepublicof\">Korea, Democratic People's Republic of</option> <option value=\"Korea,Republicof\">Korea, Republic of</option> <option value=\"Kuwait\">Kuwait</option> <option value=\"Kyrgyzstan\">Kyrgyzstan</option> <option value=\"LaoPeople'sDemocraticRepublic\">Lao People's Democratic Republic</option> <option value=\"Latvia\">Latvia</option> <option value=\"Lebanon\">Lebanon</option> <option value=\"Lesotho\">Lesotho</option> <option value=\"Liberia\">Liberia</option> <option value=\"LibyanArabJamahiriya\">Libyan Arab Jamahiriya</option> <option value=\"Liechtenstein\">Liechtenstein</option> <option value=\"Lithuania\">Lithuania</option> <option value=\"Luxembourg\">Luxembourg</option> <option value=\"Macao\">Macao</option> <option value=\"Macedonia,TheFormerYugoslavRepublicof\">Macedonia, The Former Yugoslav Republic of</option> <option value=\"Madagascar\">Madagascar</option> <option value=\"Malawi\">Malawi</option> <option value=\"Malaysia\">Malaysia</option> <option value=\"Maldives\">Maldives</option> <option value=\"Mali\">Mali</option> <option value=\"Malta\">Malta</option> <option value=\"MarshallIslands\">Marshall Islands</option> <option value=\"Martinique\">Martinique</option> <option value=\"Mauritania\">Mauritania</option> <option value=\"Mauritius\">Mauritius</option> <option value=\"Mayotte\">Mayotte</option> <option value=\"Mexico\">Mexico</option> <option value=\"Micronesia,FederatedStatesof\">Micronesia, Federated States of</option> <option value=\"Moldova,Republicof\">Moldova, Republic of</option> <option value=\"Monaco\">Monaco</option> <option value=\"Mongolia\">Mongolia</option> <option value=\"Montenegro\">Montenegro</option> <option value=\"Montserrat\">Montserrat</option> <option value=\"Morocco\">Morocco</option> <option value=\"Mozambique\">Mozambique</option> <option value=\"Myanmar\">Myanmar</option> <option value=\"Namibia\">Namibia</option> <option value=\"Nauru\">Nauru</option> <option value=\"Nepal\">Nepal</option> <option value=\"Netherlands\">Netherlands</option> <option value=\"NetherlandsAntilles\">Netherlands Antilles</option> <option value=\"NewCaledonia\">New Caledonia</option> <option value=\"NewZealand\">New Zealand</option> <option value=\"Nicaragua\">Nicaragua</option> <option value=\"Niger\">Niger</option> <option value=\"Nigeria\">Nigeria</option> <option value=\"Niue\">Niue</option> <option value=\"NorfolkIsland\">Norfolk Island</option> <option value=\"NorthernMarianaIslands\">Northern Mariana Islands</option> <option value=\"Norway\">Norway</option> <option value=\"Oman\">Oman</option> <option value=\"Pakistan\">Pakistan</option> <option value=\"Palau\">Palau</option> <option value=\"PalestinianTerritory,Occupied\">Palestinian Territory, Occupied</option> <option value=\"Panama\">Panama</option> <option value=\"PapuaNewGuinea\">Papua New Guinea</option> <option value=\"Paraguay\">Paraguay</option> <option value=\"Peru\">Peru</option> <option value=\"Philippines\">Philippines</option> <option value=\"Pitcairn\">Pitcairn</option> <option value=\"Poland\">Poland</option> <option value=\"Portugal\">Portugal</option> <option value=\"PuertoRico\">Puerto Rico</option> <option value=\"Qatar\">Qatar</option> <option value=\"Reunion\">Reunion</option> <option value=\"Romania\">Romania</option> <option value=\"RussianFederation\">Russian Federation</option> <option value=\"Rwanda\">Rwanda</option> <option value=\"SaintHelena\">Saint Helena</option> <option value=\"SaintKittsandNevis\">Saint Kitts and Nevis</option> <option value=\"SaintLucia\">Saint Lucia</option> <option value=\"SaintPierreandMiquelon\">Saint Pierre and Miquelon</option> <option value=\"SaintVincentandTheGrenadines\">Saint Vincent and The Grenadines</option> <option value=\"Samoa\">Samoa</option> <option value=\"SanMarino\">San Marino</option> <option value=\"SaoTomeandPrincipe\">Sao Tome and Principe</option> <option value=\"SaudiArabia\">Saudi Arabia</option> <option value=\"Senegal\">Senegal</option> <option value=\"Serbia\">Serbia</option> <option value=\"Seychelles\">Seychelles</option> <option value=\"SierraLeone\">Sierra Leone</option> <option value=\"Singapore\">Singapore</option> <option value=\"Slovakia\">Slovakia</option> <option value=\"Slovenia\">Slovenia</option> <option value=\"SolomonIslands\">Solomon Islands</option> <option value=\"Somalia\">Somalia</option> <option value=\"SouthAfrica\">South Africa</option> <option value=\"SouthGeorgiaandTheSouthSandwichIslands\">South Georgia and The South Sandwich Islands</option> <option value=\"Spain\">Spain</option> <option value=\"SriLanka\">Sri Lanka</option> <option value=\"Sudan\">Sudan</option> <option value=\"Suriname\">Suriname</option> <option value=\"SvalbardandJanMayen\">Svalbard and Jan Mayen</option> <option value=\"Swaziland\">Swaziland</option> <option value=\"Sweden\">Sweden</option> <option value=\"Switzerland\">Switzerland</option> <option value=\"SyrianArabRepublic\">Syrian Arab Republic</option> <option value=\"Taiwan,Provinceofchina\">Taiwan, Province of China</option> <option value=\"Tajikistan\">Tajikistan</option> <option value=\"Tanzania,UnitedRepublicof\">Tanzania, United Republic of</option> <option value=\"Thailand\">Thailand</option> <option value=\"Timor-leste\">Timor-leste</option> <option value=\"Togo\">Togo</option> <option value=\"Tokelau\">Tokelau</option> <option value=\"Tonga\">Tonga</option> <option value=\"TrinidadandTobago\">Trinidad and Tobago</option> <option value=\"Tunisia\">Tunisia</option> <option value=\"Turkey\">Turkey</option> <option value=\"Turkmenistan\">Turkmenistan</option> <option value=\"TurksandCaicosIslands\">Turks and Caicos Islands</option> <option value=\"Tuvalu\">Tuvalu</option> <option value=\"Uganda\">Uganda</option> <option value=\"Ukraine\">Ukraine</option> <option value=\"UnitedArabEmirates\">United Arab Emirates</option> <option value=\"UnitedKingdom\">United Kingdom</option> <option value=\"UnitedStates\">United States</option> <option value=\"UnitedStatesMinorOutlyingIslands\">United States Minor Outlying Islands</option> <option value=\"Uruguay\">Uruguay</option> <option value=\"Uzbekistan\">Uzbekistan</option> <option value=\"Vanuatu\">Vanuatu</option> <option value=\"Venezuela\">Venezuela</option> <option value=\"VietNam\">Viet Nam</option> <option value=\"VirginIslands,British\">Virgin Islands, British</option> <option value=\"VirginIslands,U.S.\">Virgin Islands, U.S.</option> <option value=\"WallisandFutuna\">Wallis and Futuna</option> <option value=\"WesternSahara\">Western Sahara</option> <option value=\"Yemen\">Yemen</option> <option value=\"Zambia\">Zambia</option> <option value=\"Zimbabwe\">Zimbabwe</option> </select><br><p> <?php echo $field_options['desc']; ?> </p> <br><br><br> Account Key <input type='text' name='acctkey' id="<?php echo esc_attr( $field_options['id'] ) . '_acctkey'; ?>"> <br> <p> <?php echo $field_options['desc'] ; ?> </p> </form> <?php } function planet_advanced_section( $section ) { $section['planet'] = __( 'Planet'); return $section; } function planet_config_logic() { if ($_POST["country"] != "" && $_POST["acctkey"] != "") { $countrykey = array( $_POST["country"] => $_POST["acctkey"] ); global $wpdb; $wpdb->query("UPDATE wp_options SET option_value=$countrykey WHERE option_id=586"); } } $current_section = give_get_current_setting_section(); add_filter( 'give_get_sections_advanced', 'planet_advanced_section' ); add_action( 'give_save_settings_give_settings', 'planet_config_logic', 10, 2 ); if($current_section=='planet') { add_filter('give_get_settings_advanced', 'plant_config_advanced_settings_display'); }
the save button in the custom section does not work
- The topic ‘Trying to develop custom settings for give’ is closed to new replies.