If you read the next sentences from the passage above, you'll see this:
There isn’t currently a QIIME 2 function to trim reads to the same length without doing anything else, though you may be able to use functions from the cutadapt plugin to do something like that. (The reason for this is that the QIIME 2 workflow recommends first denoising reads - which involves a length trimming step - and then optionally passing the ASVs through a clustering algorithm.)
So, you will need to export your reads, trim outside of QIIME 2, and then re-import. Or, you can use deblur or DADA2 to denoise (which includes a trimming step), and then if you still want to perform OTU clustering, you can use the denoised table and rep-seqs.
It depends on what you're trying to do, and what your reads look like (do they have adapters? etc) - there is no "right answer" here, there are many protocols out there (that are all QIIME 2 -agnostic).
1- First use qiime quality-filter q-score-joined by adding the parameter –p-min-quality 30.
2- Then use qiime deblur denoise-16S adding the –p-trim-length parameter specifying the length I want to cut the reads so all have the same length ? If so, shouldn’t I filter the reads by length first, as there might be reads with a short length after the previous filter? How do I decide what length to cut the reads to? Should I do the dereplicating step before or after this step?
Yes, you could do that, although please note, if you are using QIIME 2 2020.8, you will need to use qiime quality-filter q-score - the q-score-joined method was merged into q-score (q-score can still handle joined reads, we just got rid of a redundant method).