Why do filters/actions require an argument count?

  1. Because of backwards compatibility.

    You can use the same callback for multiple filters. Inside of that callback you should use current_filter() to determine the context. But some plugins use the number of passed arguments instead. Changing that would break these plugins.

    That’s why you should always use the API (here: current_filter()) and not some made-up construct.

  2. Also, PHP will raise a warning when you pass more parameters to a native function than that function expects.

See Ticket #14671 Deprecate the “accepted args” argument in add_filter() and add_action()

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)