-
AuthorSearch Results
-
September 18, 2019 at 3:34 pm #221251
In reply to: Rename Posts to News in front end dropdown?
TrevorParticipantfunction filter_input_object($input_object, $sfid) { if($input_object['name']!='_sf_post_type') { return $input_object; } if(!isset($input_object['options'])) { return $input_object; } foreach($input_object['options'] as $option) { if($option->value=="post") { $option->label = "News"; } } return $input_object; } add_filter('sf_input_object_pre', 'filter_input_object', 10, 2);
Something like this, but in the first like change the
$sfid
for the actual ID number of the form. This code goes in the child theme functions.php file. I think I have it correct.June 27, 2019 at 10:36 pm #215170In reply to: Customize Value Postfix
RossKeymasterHi Andrew
Your link went offline so I couldn’t see. I’m guessing you tried something like the following section of code (this adds a prefix / postfix outside the select field itself).
Also, notice the
name
doesn’t have the brackets_sfm_distance
:function filter_input_object($input_object, $sfid){ if(($input_object['name']!='_sfm_distance')){ return $input_object; } //add/override prefix & postfix to the field $input_object['prefix'] = "Prefix "; $input_object['postfix'] = " Postfix"; return $input_object; } add_filter('sf_input_object_pre', 'filter_input_object', 10, 2);
However if you wanted to change the labels (or in this case append text to it) it would be like:
function filter_input_object($input_object, $sfid){ if(($input_object['name']!='_sfm_distance')){ return $input_object; } //if we want to filter the options generated, we need to make sure the options variable actually exists before proceeding (its only available to certain field types) if(!isset($input_object['options'])){ return $input_object; } //now we know there are options we can loop through each one, and change what we need foreach($input_object['options'] as $option){ $option->label .= " miles"; } return $input_object; } add_filter('sf_input_object_pre', 'filter_input_object', 10, 2);
Thanks
PS – I’ve actaully tested both of these just now with my own field, so there shouldn’t be syntax errors.
June 27, 2019 at 4:32 pm #215141In reply to: Customize Value Postfix
TrevorParticipantI had a thought. Try this:
function add_miles_to_filter_labels($input_object, $sfid) { if(($input_object['name']!='_sfm_distance[]'||($sfid != 2216)) { return $input_object; } foreach($input_object['options'] as $option) { $option->label .= " miles"; } return $input_object; } add_filter('sf_input_object_pre', 'add_miles_to_filter_labels', 10, 2);
June 25, 2019 at 7:00 pm #214935In reply to: Customize Value Postfix
TrevorParticipantSpotted another errod, sorry.
function add_miles_to_filter_labels($input_object, 2116) { if($input_object['name']!='_sfm_distance[]') { return $input_object; } foreach($input_object['options'] as $option) { $option->label .= " miles"; } return $input_object; } add_filter('sf_input_object_pre', 'add_miles_to_filter_labels', 10, 2);
June 25, 2019 at 6:36 pm #214927In reply to: Customize Value Postfix
TrevorParticipantIt shouldn’t have the dollar symbol, no.
I can see an error also, so try this:
function add_miles_to_filter_labels($input_object, 2116) { if(($input_object['name']!='_sfm_distance[]') { return $input_object; } foreach($input_object['options'] as $option) { $option->label .= " miles"; } return $input_object; } add_filter('sf_input_object_pre', 'add_miles_to_filter_labels', 10, 2);
June 25, 2019 at 6:18 pm #214925In reply to: Customize Value Postfix
AnonymousInactiveok this is what I have so far:
function add_miles_to_filter_labels($input_object, $2116) { if(($input_object['name']!='_sfm_distance[]') { return $input_object; } foreach($input_object['options'] as $option) } $option->label .= " miles"; } return $input_object; } add_filter('sf_input_object_pre', 'add_miles_to_filter_labels', 10, 2);
I’ve tried with and without the $ sign in front of the id, but I still get a parse error on the site.
June 25, 2019 at 5:16 pm #214907In reply to: Customize Value Postfix
TrevorParticipantI would imagine the PHP would be something like:
function add_miles_to_filter_labels($input_object, $sfid) { if(($input_object['name']!='_sfm_colours') { return $input_object; } foreach($input_object['options'] as $option) } $option->label .= " miles"; } return $input_object; } add_filter('sf_input_object_pre', 'add_miles_to_filter_labels', 10, 2);
where you change $sfid to the actual ID of the form AND
where you change the string/name_sfm_colours
to whatever thedata_sf_field_name
actually is, for example, see here:June 24, 2019 at 3:27 pm #214759In reply to: using string to translate text in within filter
AnonymousInactiveHello to update this I have now got the the code working correctly. Here shows 2 text replacement one after the other.
function my_plugin_search_filter_change_label($input_object, $sfid) { if ($sfid == 845 && $input_object['name'] == '_sft_category') { foreach ($input_object['options'] as $key => $option) { if ($option->label == 'All Categories') { $input_object['options'][$key]->label = 'Toutes Catégories'; } } foreach ($input_object['options'] as $key => $option) { if ($option->label == 'Accessories and Cables') { $input_object['options'][$key]->label = 'Accessoires et Câbles'; } } } return $input_object; } add_filter('sf_input_object_pre', 'my_plugin_search_filter_change_label', 10, 2);
June 19, 2019 at 3:26 pm #214482In reply to: using string to translate text in within filter
AnonymousInactiveI have tried it in the functions.php but I cant seem to get it to change word ‘Brochures’ to ‘Test’
This is the code I have used am I missing something?
<?php function my_plugin_search_filter_change_label($input_object, $sfid) { if ($sfid == 845 && $input_object['name'] == '_sft_file_type[]') { foreach ($input_object['options'] as $key => $option) { if ($option->label == 'Brochures') { $input_object['options'][$key]->label = 'Test'; } } } return $input_object; } add_filter('sf_input_object_pre', 'my_plugin_search_filter_change_label', 10, 2); ?>
June 19, 2019 at 12:33 pm #214457In reply to: using string to translate text in within filter
AnonymousInactiveI have found this however it as sfid ==12345 what do you use to replace 12345? Would this be a more correct snippet.
function my_plugin_search_filter_change_label($input_object, $sfid) { if ($sfid == 12345 && $input_object['name'] == '_sf_post_type') { foreach ($input_object['options'] as $key => $option) { if ($option->label == 'Media') { $input_object['options'][$key]->label = 'Photos'; } } } return $input_object; } add_filter('sf_input_object_pre', 'my_plugin_search_filter_change_label', 10, 2);
-
AuthorSearch Results