Skip to content

Instantly share code, notes, and snippets.

@kstover
kstover / customDatePicker.js
Last active February 2, 2024 10:06
Customising Ninja Forms date picker field
/*
* When our date picker loads, we want to modify some of picker settings.
*
* We want to:
* 1) Modify our month labels with a different string.
* 2) Disable specific dates so that they can't be selected.
*
*
* This object will listen to date pickers as they initialize so that we can modify settings.
*/
@kstover
kstover / nf-after-load.js
Created November 10, 2016 18:47
Ninja Forms Three - After a form has loaded
// Create a new object for custom validation of a custom field.
var nameSpaceController = Marionette.Object.extend( {
initialize: function() {
this.listenTo( nfRadio.channel( 'form' ), 'render:view', this.doCustomStuff );
},
doCustomStuff: function( view ) {
var formModel = view.model; // formModel will be a Backbone model with all of our form data.
var formID = formModel.get( 'id' ); // We can use .get( 'setting' ) get get any of our form settings.
<?php
function nf_test_exclude_plugins( $plugins ) {
if ( !defined( 'DOING_AJAX' ) || !DOING_AJAX || !isset( $_REQUEST['action'] ) || ( 'nf_output_field_settings_html' != $_REQUEST['action'] && 'ninja_forms_new_field' != $_REQUEST['action'] ) ) return $plugins;
foreach( $plugins as $key => $plugin ) {
if ( false !== strpos( $plugin, 'ninja-forms' ) ) continue;
unset( $plugins[$key] );
}
/**
* Work around for Require, Radio, and WordPress.
*
* Returns the WordPress-loaded version of Underscore for use with things that need it and use Require.
*
* @since 3.0
* @return Object Underscore Object
*/
define( function() {
return _;
/**
* Work around for Require, Radio, and WordPress.
*
* Returns the WordPress-loaded version of Backbone for use with things that need it and use Require.
*
* @since 3.0
* @return Object Backbone Object
*/
define( function() {
return Backbone;
// Create a new object for custom validation of a custom field.
var mySubmitController = Marionette.Object.extend( {
initialize: function() {
this.listenTo( Backbone.Radio.channel( 'field-4', 'change:field', this.nameChange ) );
},
nameChange: function( el, model ) {
// Split your model value
var value = model.get( 'value' );
function ninja_forms_remove_csv_values( $value_array, $sub_id_array ) {
foreach( $value_array as $x => $value ) {
unset( $value_array[$x][0] );
unset( $value_array[$x][1] );
}
array_values( $value_array );
return $value_array;
}
add_filter( 'ninja_forms_export_subs_value_array', 'ninja_forms_remove_csv_values', 15, 2 );
function test_product() {
$NF_Extension_Updater = new NF_Extension_Updater( 'Test Product', '1.0' );
}
add_action( 'admin_init', 'test_product' );
<?php
/*
*
* This class handles all the update-related stuff for extensions, including adding a license section to the license tab.
* It accepts two args: Product Name and Version.
*
* @param $product_name string
* @param $version string
* @since 2.2.47
* @return void
$args = array(
'post_type' => 'attachment',
'meta_query' => array(
array(
'key' => 'ninja_forms_field_id',
'value' => $field_id,
'type' => 'numeric',
'compare' => '='
),
array(