webentwicklung-frage-antwort-db.com.de

Attribut dynamisch zum Shortcode hinzufügen

Ich möchte einem in einem Beitrag verwendeten Shortcode dynamisch ein Attribut hinzufügen. Angenommen, wir beginnen mit:

[shortcode-name]

Ich möchte den Teil "attribute = xxx" zum Shortcode hinzufügen, damit er effektiv so aussieht:

[shortcode-name attribute=xxx]

Nur für die erste Kurzwahl in einem Beitrag. Ist das möglich?

Vielen Dank!

1
Yazmin

Ungetestet (und kann derzeit nicht getestet werden), aber Sie sollten in der Lage sein, Attribute mit einem Filter hinzuzufügen ... so etwas wie:

function test_sc($atts,$content) {
  // echo 'test_sc';
  $atts = shortcode_atts(
      array(
              'foo' => 'no foo',
              'bar' => 'default bar',
      ), 
      $atts, 
      'testsc' 
  );

  // var_dump($atts);

}
add_shortcode('testsc','test_sc');

function test_shortcode_att_add($atts) {
  # this filter should only run once (first use on page)
  remove_filter('shortcode_atts_testsc','test_shortcode_att_add');
  $atts['xxx'] = 'yyy';
  return $atts;
}
add_filter('shortcode_atts_testsc','test_shortcode_att_add');

Natürlich weiß ich nicht genau, welche Attribute Sie hinzufügen möchten oder von welcher Art von unterstützendem Code dies abhängen könnte.

3
s_ha_dum