Skip to content

Commit

Permalink
v4.3.10 - bug with empty default selectors if extra params are set (f…
Browse files Browse the repository at this point in the history
…or example [contents embed])
  • Loading branch information
doiftrue committed Aug 13, 2022
1 parent 020d0b7 commit d482239
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 13 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@

4.3.10 (13-08-2022)
- BUG: with empty default selectors if extra params are set (for example [contents embed]).

4.3.4 (08-06-2022)
- NEW: 'leave_tags' parameter added.

Expand Down
26 changes: 13 additions & 13 deletions Kama_Contents.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public function make_contents( string &$content, string $params = '' ): string;
* @author Kama
* @see http://wp-kama.ru/1513
*
* @version 4.3.9
* @version 4.3.10
*/
class Kama_Contents implements Kama_Contents_Interface {

Expand Down Expand Up @@ -82,9 +82,9 @@ class Kama_Contents implements Kama_Contents_Interface {
* @type string $margin Отступ слева у подразделов в px|em|rem.
* @type string $selectors HTML теги по котором будет строиться оглавление: 'h2 h3 h4'.
* Порядок определяет уровень вложености.
* Можно указать строку или массив: [ 'h2', 'h3', 'h4' ] или 'h2 h3 h4'.
* Можно указать атрибут class: 'h2 .class_name'.
* Если нужно чтобы разные теги были на одном уровне,
* Можно указать строку/массив: 'h2 h3 h4' или [ 'h2', 'h3', 'h4' ].
* Можно указать атрибут/class: 'h2 .class_name'.
* Если нужно, чтобы разные теги были на одном уровне,
* указываем их через |: 'h2|dt h3' или [ 'h2|dt', 'h3' ].
* @type string $to_menu Ссылка на возврат к оглавлению. '' - убрать ссылку.
* @type string $title Заголовок. '' - убрать заголовок.
Expand Down Expand Up @@ -207,21 +207,13 @@ public function make_contents( string &$content, string $params = '' ): string {

/**
* @param string $params
* @param $mm
* @param string $content
*
* @return array
*/
protected function parse_string_params( string $params ): array {

if( ! $params ){
$params = $this->opt->selectors;
}

$this->temp->original_string_params = $params;

// $extra_tags

$extra_tags = [];

if( preg_match( '/(as_table)="([^"]+)"/', $params, $mm ) ){
Expand Down Expand Up @@ -266,10 +258,18 @@ protected function split_params_and_tags( array $params ): array {
}
}

if( ! $tags ){
$tags = is_array( $this->opt->selectors )
? $this->opt->selectors
: explode( ' ', $this->opt->selectors );
}

return $tags;
}

// remove tag if it's not exists in content (for performance)
/**
* Remove tag if it's not exists in content (for performance).
*/
protected function get_actual_tags( array $tags, string $content ): array {

foreach( $tags as $key => $tag ){
Expand Down

0 comments on commit d482239

Please sign in to comment.