WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Рекомендуемые продукты со скидкой от Template Monster

Внешняя линковка. get_the_permalink( #поста ) + список url

Задача:
Вывести в виджет внешние ссылки по списку. 1 пост = 1 уникальная внешняя ссылка.
Есть все ID постов и список 20.000 внешних ссылок + анкоры.
Пример:

<a href="http://сайт.ком/ссылка-1">Анкор1</a> выводить на get_the_permalink( 1 ) 
<a href="http://сайт.ком/ссылка-2">Анкор2</a> выводить на get_the_permalink( 2 ) 
<a href="http://сайт.ком/ссылка-3">Анкор3</a> выводить на get_the_permalink( 3 ) 

и так далее.

Пытался решить это с помощью плагинов и прочего, но нет удобного массового варианта для большого количества ссылок. Руками проставить 20тыс. штук нереально.

Идеальный вариант был бы - это просто выгрузить список внешних ссылок + анкор и чтоб оно равномерно распределило 1 ссылка - 1 рандомная запись (но статически, не каждый раз рандомная линковка).

0
malina
8 месяцев назад
  • 0

    Написать импортер, который присвоит каждой записи одну внешнюю ссылку, сохранит ссылку в meta каждого поста.
    Написать виджет, который будет брать записи и выводить ссылки для этих полей.

    malina 8 мес назад

    Спасибо, вижу это достаточно сложная задача.

    Вариант с импортёром уже есть существующий - это wp-all-import. Там можно создавать
    кастомное поле и добавлять его в meta.
    Минус этого варианта, что если нужно быстро убрать ссылки - то можно накосячить с массовым изменением данных постов или ещё чем-то.

    Ps. Я кстати так понял, что можно делать и без особого виджета данное действие. Просто добавив кастомное поле в импортёр и вставив этот код в sidebar.php...

    Есть ещё какие-то варианты? Очень хочется верить, что можно загрузить список и выводить его на сайте, пусть даже уже не в виджетах. (раз так сложно)

    kaliyan 8 мес назад

    В любом случае нужно писать код.

    Сделайте 2 поля для записей - ссылка и флаг включения. Если флаг включен - выводим ссылку, если нет - не выводим. Или заведите глобальный флаг (например константу SHOW_LINKS), который будет работать для всех записей сразу.

    Тут вопрос как прикрепить ссылку к посту. Я предложил мета-поля, так как это проще всего. Можно создать отдельную таблицу в базе (post_id | link | anchor | enabled).

    Вывести - не проблема, как прикрепить и админить - вот в чем вопрос.

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация