JanisOzolins JanisOzolins - 2 years ago 144
PHP Question

Missing argument 2 for a custom function

So I am trying to replace the original post_title with a custom field right of the same post after saving the changes. However, I am getting the following error on the post page:

Warning: Missing argument 2 for wpse33385_filter_title() in $PATH/public_html/wp-content/themes/$THEME/functions.php on line 113

// replaces the original post_title with the value of pac-short-title

add_filter( 'the_title', 'wpse33385_filter_title', 10, 2);

function wpse33385_filter_title( $title, $post_id )
if( $new_title = types_get_field_meta_value( 'pac-short-title', $post_id ) )
return $new_title;
return $title;

I am confused because I have defined a number of arguments in the add_filter?

Answer Source

This warning may be caused by the post id not being set in some instances of the usage of this filter in some versions of WordPress.

The solution is to set a default value for the post id.

function wpse33385_filter_title( $title, $post_id = null )
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download