对于php–WordPress–如何更改相对链接的绝对链接感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍wordpress修改固定链接后打不开文章链接的处理,并为您提供关于crawlspide
对于php – WordPress – 如何更改相对链接的绝对链接感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍wordpress修改固定链接后打不开文章链接的处理,并为您提供关于crawlspider爬取全网站原网站信息不全,目前怀疑主要是相对链接没有被转化为绝对链接、php – WordPress菜单:单击父菜单项,仅显示该链接的子导航子项、php – 如何在wordpress中显示标记链接、php – 将相对链接转换为绝对链接的有用信息。
本文目录一览:- php – WordPress – 如何更改相对链接的绝对链接(wordpress修改固定链接后打不开文章链接的处理)
- crawlspider爬取全网站原网站信息不全,目前怀疑主要是相对链接没有被转化为绝对链接
- php – WordPress菜单:单击父菜单项,仅显示该链接的子导航子项
- php – 如何在wordpress中显示标记链接
- php – 将相对链接转换为绝对链接
php – WordPress – 如何更改相对链接的绝对链接(wordpress修改固定链接后打不开文章链接的处理)
“…有些东西似乎没有正确显示,或正确连接……看起来好像他们使用绝对链接而不是相对链接,所以某些事情没有正确地通过……”
我甚至没有意识到这将是一个问题,因为我认为所有的链接都需要改变.是否有一个代码函数可以在functions.PHP文件中进行修改?我已经看到有一个wp_make_link_relative和以下过滤器 –
add_filter( 'post_link','wp_make_link_relative' ); // normal post link add_filter( 'post_type_link','wp_make_link_relative' ); // Custom post type link add_filter( 'page_link','wp_make_link_relative' ); // Page link add_filter( 'attachment_link','wp_make_link_relative' ); // Attachment link add_filter( 'get_shortlink','wp_make_link_relative' ); // Shortlink
我应该将这些应用到我的functions.PHP文件中吗?这会修复一切还是我需要应用其他任何东西,比如插件?
解决方法
我想你的资产就像这样,
- theme-name - - assets - - - images - - - css - - - js
因此,要访问js目录中名为scripts.js的文件,请使用以下代码链接到该文件
get_stylesheet_directory_uri() . '/assets/js/scripts.js'
它将返回以下URL
http://example.com/wp-content/themes/theme-name/assets/js/scripts.js
crawlspider爬取全网站原网站信息不全,目前怀疑主要是相对链接没有被转化为绝对链接
您好,我把我的问题给你详细描述一下,请您帮我解决一下。
用的是 crawlspider 爬取乐融商城全部的网站源代码,但是爬取到 http://www.lemall.com/product/search.html?level=1&cid1=1022 这一页面时,由于商品(“比如:乐视蓝牙耳机”)的链接是“ data-url="/product/products-pid-1002974-sku-400501000038.html ”,结果导致无法爬取 http://www.lemall.com/product/products-pid-1002974-sku-400501000038.html 页面源代码
php – WordPress菜单:单击父菜单项,仅显示该链接的子导航子项
我的wordpress导航功能遇到了一些问题.我有以下功能从管理员拉取菜单项:
function cr_get_menu_items($menu_location)
{
$locations = get_nav_menu_locations();
$menu = get_term($locations[$menu_location], 'nav_menu');
return wp_get_nav_menu_items($menu->term_id);
}
在我的导航模板中,我使用此函数仅引入这样的父项:
<?PHP $nav = cr_get_menu_items('navigation_menu') ?>
<?PHP foreach ($nav as $link):
if ($link->menu_item_parent == 0) : ?>
<ahref="<?= $link->url ?>"><?= $link->title ?></a>
<?PHP endif; endforeach; ?>
我试图创建一个子导航,显示这样的子项:
<?PHP $nav = cr_get_menu_items('navigation_menu') ?>
<?PHP foreach ($nav as $link):
if ($link->menu_item_parent !== 0) : ?>
<a href="<?= $link->url ?>"><?= $link->title ?></a>
<?PHP endif; endforeach; ?>
这将拉入所有子菜单项.我正在构建的导航应该工作的方式是:您单击父菜单项,子导航显示该父项的所有子菜单项.隐藏/显示功能都是JS.
有没有办法改变我必须只为特定的父菜单项拉入子项的功能?任何帮助/指导表示赞赏.
解决方法:
Is there a way to alter the function I have to pull in only children
for a specific parent menu item?
为此目的,是的,有.
尝试以下函数(替换现有的cr_get_menu_items()函数):
function cr_get_menu_items($menu_location, $parent = -1)
{
$locations = get_nav_menu_locations();
$menu = get_term($locations[$menu_location], 'nav_menu');
$items = wp_get_nav_menu_items($menu->term_id);
if ( is_numeric( $parent ) && $parent >= 0 ) {
$_id = (int) $parent;
foreach ( $items as $i => $item ) {
if ( $_id !== (int) $item->menu_item_parent ) {
unset( $items[ $i ] );
}
}
}
return $items;
}
用法示例:
$nav = cr_get_menu_items( 'navigation_menu' ); // Get all menu items.
$nav = cr_get_menu_items( 'navigation_menu', 0 ); // Get menu items whose parent ID is 0
UPDATE
在我重新阅读您的问题之后,这是您可能需要的功能:
// $items is the menu items array that you retrieved using `cr_get_menu_items()`,
// or other functions which return valid `nav_menu` items.
function cr_get_submenu_items( array $items, $parent ) {
$parent = (int) $parent;
$list = [];
foreach ( $items as $item ) {
if ( $parent === (int) $item->menu_item_parent ) {
$list[] = $item;
}
}
return $list;
}
更新#2
以下是cr_get_menu_items()和cr_get_submenu_items()的用法:
<?PHP $nav = cr_get_menu_items('navigation_menu') ?>
<!-- display parent items. -->
<?PHP $nav = cr_get_menu_items('navigation_menu') ?>
<?PHP foreach ($nav as $link):
if ($link->menu_item_parent == 0) : ?>
<ahref="<?= $link->url ?>"><?= $link->title ?></a>
<?PHP endif; endforeach; ?>
<!-- display children items. (in its own wrapper `div`/`ul`/etc.) -->
<?PHP $_ids = []; ?>
<?PHP foreach ($nav as $link):
$parent = (int) $link->menu_item_parent;
if ( 0 !== $parent && ! in_array( $parent, $_ids ) ) : ?>
<!-- This `div` is just an example wrapper. -->
<div>
<?PHP foreach ( cr_get_submenu_items( $nav, $parent ) as $clink ): ?>
<a href="<?= $clink->url ?>"><?= $clink->title ?></a>
<?PHP endforeach; ?>
<?PHP $_ids[] = $link->menu_item_parent; ?>
</div>
<?PHP endif; endforeach; ?>
php – 如何在wordpress中显示标记链接
每个帖子后我都会显示标签
<?PHP
global $post;
foreach(get_the_tags($post->ID) as $tag) {
echo '<li>'.$tag->name.'</li>';
}
?>
现在我需要显示标签不仅仅是文本,而是显示所有按给定标签过滤的帖子的链接,就像在单击问题下方的标签时在stackoverflow上一样.
>如何制作?
>将使用哪个页面模板来显示搜索结果?
解决方法:
<?PHP
global $post;
foreach(get_the_tags($post->ID) as $tag)
{
echo '<li><a href="' . get_tag_link($tag->term_id) . '">' . $tag->name . '</a></li>';
}
将使用哪个页面模板来显示搜索结果:对于搜索模板,您可以使用follow me作为标签模板Tag_Template
php – 将相对链接转换为绝对链接
<? $txt = file_get_contents('http://stats.pingdom.com/qmwwuwoz2b71/522741'); echo $txt; ?>
我想用绝对的替换相关链接!基本上,
<img src="/images/legend_15s.png"/> and <img src='/images/legend_15s.png'/>
应该被替换
<img src="http://domain.com/images/legend_15s.png"/>
和
<img src='http://domain.com/images/legend_15s.png'/>
分别.我怎样才能做到这一点?
<? $txt = file_get_contents('http://stats.pingdom.com/qmwwuwoz2b71/522741'); $txt = str_replace(array('href="','src="'),array('href="http://stats.pingdom.com/','src="http://stats.pingdom.com/'),$txt); echo $txt; ?>
我测试过它的工作:)
更新
这是通过正则表达式完成并更好地工作:
<? $txt = file_get_contents('http://stats.pingdom.com/qmwwuwoz2b71/522741'); $domain = "http://stats.pingdom.com"; $txt = preg_replace("/(href|src)\=\"([^(http)])(\/)?/","$1=\"$domain$2",$txt); echo $txt; ?>
完成:D
今天的关于php – WordPress – 如何更改相对链接的绝对链接和wordpress修改固定链接后打不开文章链接的处理的分享已经结束,谢谢您的关注,如果想了解更多关于crawlspider爬取全网站原网站信息不全,目前怀疑主要是相对链接没有被转化为绝对链接、php – WordPress菜单:单击父菜单项,仅显示该链接的子导航子项、php – 如何在wordpress中显示标记链接、php – 将相对链接转换为绝对链接的相关知识,请在本站进行查询。
本文标签: