Вставка HTML-страницы в страницу WordPress

28 февр. 2016 г., 06:04:58
Просмотры: 19.3K
Голосов: 1

Я знаю, что этот вопрос уже задавали, но ни одно из предложенных решений мне не помогло.

Я создал страницу:

http://creditsmart.in/wp-content/themes/voice/emicalc.html

Мне нужно добавить эту страницу в мою страницу WordPress.

1) Пробовал режим 'текст' с использованием iframe - не сработало.

2) Пытался вставить HTML-код напрямую в страницу WordPress - не сработало.

3) Также добавил все CSS и JS, на которые ссылается emicalc.html, в header.php, а затем попытался вставить тег в страницу WordPress - всё равно не работает.

Я не хочу использовать плагины. Пожалуйста.

Видео для лучшего понимания проблемы - http://tinypic.com/r/2d93709/9

Любая помощь будет очень ценной.

2
Комментарии

Как насчет шорткода?

jgraup jgraup
28 февр. 2016 г. 06:46:57

@jgraup - Я не хочу использовать никаких плагинов. Пожалуйста

Amul Bhatia Amul Bhatia
28 февр. 2016 г. 06:53:13
Все ответы на вопрос 2
1

Вы не можете это сделать, потому что это небезопасная страница http, а вы загружаете её на страницу https. Это называется Смешанный контент (Mixed Content).


Измените протокол на // и надейтесь, что он загрузится через https.

<iframe src="//creditsmart.in/wp-content/themes/voice/emicalc.html" name="frame1" scrolling="auto" frameborder="no" align="center" height = "300px" width = "100%">
</iframe>

(код iframe изменён из ответа @Ittikorn)


Если файл находится в той же директории вашей темы, можно создать шорткод:

[emicalc]

Затем загрузить локальный файл:

function emicalc__shortcode( $atts ) {

    $content = file_get_contents( get_stylesheet_directory() . '/emicalc.html');
    return $content;
}

add_shortcode( 'emicalc', 'emicalc__shortcode' );

Если файл находится на удалённом сервере, вы можете использовать wp_remote_get() вместо file_get_contents(), но это потребует загрузки содержимого через сервер, а не через клиент.


Других трюков нет / https может загружать только https / http всегда может загружать https.

28 февр. 2016 г. 06:57:36
Комментарии

О, вы правильно поняли. Тогда, как мне следует действовать дальше?

Amul Bhatia Amul Bhatia
28 февр. 2016 г. 06:59:38
3

Я попробовал вставить этот код iframe в текстовый режим, и, кажется, он работает. Вы можете настроить значение высоты, если оно не подходит, но постарайтесь оставить значение ширины на 100%.

<iframe src="//creditsmart.in/wp-content/themes/voice/emicalc.html" name="frame1" scrolling="auto" frameborder="no" align="center" height = "300px" width = "100%">
</iframe>
28 февр. 2016 г. 06:33:56
Комментарии

@lttikorn - Я сделал то же самое, что вы сказали, но проблема осталась. Пожалуйста, ознакомьтесь с приложенной ссылкой на видео для лучшего понимания..http://tinypic.com/r/2d93709/9

Amul Bhatia Amul Bhatia
28 февр. 2016 г. 06:50:30

@user2921939, Sumit исправил проблему с протоколом, убрав http перед url. Можете попробовать снова и проверить, решает ли это вашу проблему?

Ittikorn S. Ittikorn S.
28 февр. 2016 г. 09:27:10

да, как я могу отобразить то же самое на https ??

Amul Bhatia Amul Bhatia
28 февр. 2016 г. 09:56:10