Получить вложения, если заголовок содержит упоминание слова?- WordPress - PullRequest
0 голосов
/ 10 декабря 2018

Я хочу получить все вложения, если их заголовок содержит упомянутое слово (ключевое слово) в коде.Я исследую это и могу сделать это с помощью этого плагина «Custom Content Shortcode», он хорошо справляется со своей задачей, но мне нужны некоторые дополнительные детали и некоторая дополнительная часть этого кода плагина, что я не хочу, чтобы я закончил с этим,Теперь я думаю, что если этот плагин может сделать это, надеюсь, что их любой PHP-код также может сделать это.Так что мне нужна помощь здесь.Если кто-то поможет сделать это с помощью php-кода.

Короткие коды, которые я использовал с этим плагином для получения результата

[loop type=attachment ] 
[if field=title contains=my keyword empty=false]
[field title-link]
[/if]
[/loop]

Проблема с приведенным выше кодом заключается в том, что они ищут все файлы и показывают пустые места дляв заголовках, которые не имеют «моего ключевого слова», а также в заголовках, для которых указано «мое ключевое слово», например, ниже

my keyword use in seo of title 
<blank line>
<blank line>
<blank line>
why i used my keyword
<blank line>
my keyword benefits 
<blank line>
<blank line>
<blank line>
<blank line>
<blank line>
<blank line>
<blank line>
<blank line>

Пустая строка означает, что ничто не показывает только пустое пространство

Вот почему мне нужен php-код, чтобы я мог получать только заголовки и другие поля (изображение, ссылка на родительский пост и т. Д.), А не эти пустые лайки с результатом.Надеюсь, ты понимаешь, чего я хочу.

Обновление: короче, я ищу помощь для кода, который может найти, если заголовок медиа (вложения / вложения) содержит упоминание ключевого слова в коде php, а затем получить (заголовок этого изображения, ссылка на родительский пост, URL-адрес изображения для отображения изображения).и т.д.)

1 Ответ

0 голосов
/ 10 декабря 2018

это может быть полезно для вас.

$query_images_args = array(
    'post_type'      => 'attachment',
    'post_mime_type' => 'image',
    'post_status'    => 'inherit',
    'posts_per_page' => 50,
);

$query_images = new WP_Query( $query_images_args );
while ($query_images->have_posts()) : $query_images->the_post();
    $link  = get_the_permalink($post->ID);
    //the_permalink();
    if(preg_match('/yourkeyword/',$link)){
        echo $link;
    }
    echo '<br/>';
    endwhile;
die;

Если вы хотите, чтобы заголовок мультимедиа содержал определенное слово, вы должны использовать get_the_title () вместо get_the_permalink ();

...