Посмотрите что у вас в файле /single-product/title.php. В шаблоне по-умолчанию именно этот файл отвечает за вывод заголовка товара:
<?phpif ( ! defined( 'ABSPATH' ) ) { exit();}?><h1 class="product_title entry-title"><?php the_title(); ?></h1>
Нужно проверить значения переменной $url и возвращаемого функцией get_permalink(). Вполне возможно что они разные, что и приводит к циклической переадресации.
Если клиент говорит "хочу так-то", то в чем, собственно, вопрос?
Фреймворк jQuery Mobile уже больше года не обновляется. Судя по всему, это решение не слишком популярно.
В подавляющем большинстве случаев для мобильных устройств достаточно качественной адаптивной верстки.
Если вам нужна часть после # в URL, то можно использовать свойство window.location.hash или как вариант window.location.href.split('#')
Может проще просчитывать смещение именно для элемента #1234 в ссылке? Это можно сделать так $('#ID_элемента').offset().top, например.
Все зависит от самого сайта, сложности логики и частоты обновлений контента. Если сайт относительно простой, то с головой хватит связки WordPress + WP-FFPC для постраничного кеширования в оперативную память (Memcached).
Если портал сам по себе сложный, то его в любом случае придется дорабатывать, реализовывать кеширование там, где это возможно, перепаковывать скрипты, стили, оптимизировать сам сервер и запускать раздачу статики через CDN.
Если вам требуется выделить слова и словосочетания в тексте, чтобы потом на них навешивать появление подсказки через JS, то без дополнительных оберточных тегов не обойтись. Дело в том, что обработчик нельзя связать с тем или иным словом в тексте. Помимо этого оберточные теги позволят вам как-то выделять слова, показывать пользователю, что у него них подсказка есть.
Если вам очень не хочется, чтобы в отдаваемом коде страницы присутствовали дополнительные теги, то можно поступить несколько более изощренно: сначала выводится текст как он есть без выделения тегами. После загрузки страницы с помощью JS выполняется AJAX запрос на сервер, который отдает текст с выделением тегами тегами. Этот текст помещается или поверх существующего с помощью z-index и с установкой прозрачности через opacity: 0.01;, или вместо существующего. И уже на эти обертки навешиваются обработчики, которые выводят подсказки.
Если база "слово/словосочетание в тексте" - "текст подсказки" не очень большая, то можно ее отдавать по AJAX и уже сам JS будет парсить текст страницы и оборачивать нужные слова и словосочетания.
Если требуется выделять отдельные строки как на картинке:
tr td { background: #fff; } tr:nth-child(2n) td { background: #eee; }
Если требуется выделять столбцы, то стили немного другие:
tr td { background: #fff; } tr td:nth-child(2n) { background: #eee; }
Если полоска требуется фиксированной ширины, то можно сделать так:
h1 { display: block; position: relative; } h1:after { content: ''; display: block; width: 100px; /* ширина полоски */ height: 4px; /* толщина полоски */ background-color: #900; /* цвет полоски */ position: absolute; top: -4px; /* вертикальное смещение */ left: 0; /* горизонтальное смещение */ }