Skip to content

Override single field only when using craft.seo.custom #488

@BigglesZX

Description

@BigglesZX

I have implemented code similar to the solution posted in #66 to provide default social images if they aren't specified on the entry. However when using craft.seo.custom I have to re-specify the title, description and any other fields I want to output, otherwise they are empty. In other words the custom parameters/object are not merged with the site/entry defaults, they replace them.

There is an issue with double-suffixes being applied to my titles if I for example do this:

{% set seo = craft.seo.custom(
    entry.seo.title,
    entry.seo.description,
    # ... custom image stuff
) %}

...because entry.seo.title has already undergone some processing to add the suffix, it's not ideal to re-use it in this way.

Therefore it would be really useful if there was an option to provide only overrides to the craft.seo.custom function and not a complete replacement configuration object.

If this is already possible and I've just missed it somehow I would appreciate a pointer. Thanks!

Additional info

  • Craft version: 5.4.9
  • SEO version: 5.0.0
  • PHP version: 8.2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions